[英]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.