簡體   English   中英

PHP按字母順序排序

[英]PHP sort array alphabetically

我在這個上苦苦掙扎。 我有一個包含國家和地區的數組。 我想在密鑰上按升序對兩組信息進行排序。

這是我正在使用的數組:

Array
(
    [Country] => Array
        (
            [United Kingdom] => Array
                (
                    [London] => Array
                        (
                            [0] => 1
                            [1] => 5
                            [2] => 23
                            [3] => 71
                        )

                    [Manchester] => Array
                        (
                            [0] => 800
                        )

                )

            [United States] => Array
                (
                    [New York] => Array
                        (
                            [0] => 147
                            [1] => 111
                        )

                    [Washington] => Array
                        (
                            [0] => 213
                        )

                    [Florida] => Array
                        (
                            [0] => 6
                        )

                    [Texas] => Array
                        (
                            [0] => 9
                        )

                )

            [Brazil] => Array
                (
                    [Brasília] => Array
                        (
                            [0] => 64
                        )

                )

        )

)

所以重新排序的數組將是:

巴西
- 巴西利亞

英國
- 倫敦
- 曼徹斯特

美國
- 佛羅里達州
- 紐約
- 德克薩斯州
- 華盛頓

數據結構應保持不變,但數字的順序(例如倫敦:1,5,23,71)可以保持不變。

我已經嘗試了幾種排序方法: http//php.net/manual/en/array.sorting.php

但他們似乎沒有做任何事情。 也許是因為它是一個多維數組,或者它的邏輯結構不是100%...但我堅持使用數組。

你可以試試:

ksort_recursive($data);
print_r($data);

使用的功能

function ksort_recursive(&$array) {
    ksort($array);
    foreach ( $array as &$a ) {
        is_array($a) && ksort_recursive($a);
    }
}

請參閱測試多個PHP版本

步驟1:
按鍵對國家排序。

ksort($arr['Country']);

第2步:遍歷各個國家/地區並對這些鍵進行排序。

foreach ($arr['Country'] as $country=>$data) {
    ksort($arr['Country'][$country]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM