0
我的數組看起來像這樣。如何在PHP中對關聯數組的數組進行排序
Array (
[0] => Array (
[id] => 1
[language] => English
)
[1] => Array (
[id] => 3
[language] => Japanese
)
[2] => Array (
[id] => 4
[language] => Italian
)
[3] => Array (
[id] => 5
[language] => Spanish
)
[4] => Array (
[id] => 6
[language] => French
)
)
現在我想要做的就是按語言對這個數組進行排序。所以它應該變成這樣。
Array (
[0] => Array (
[id] => 1
[language] => English
)
[1] => Array (
[id] => 6
[language] => French
)
[2] => Array (
[id] => 4
[language] => Italian
)
[3] => Array (
[id] => 3
[language] => Japanese
)
[4] => Array (
[id] => 5
[language] => Spanish
)
)
其實我發現PHP手冊很有幫助。它解決了。我不知道是否允許我的問題添加答案。但這是我做到的。我發現PHP的usort對這樣的條件非常有幫助。 http://hk2.php.net/manual/en/function.usort.php
function build_sorter($key){
return function ($a, $b) use ($key) {
return strnatcmp($a[$key], $b[$key]);
};
}
usort($langs, build_sorter('language'));
foreach ($langs as $value) {
echo '<option value="'.$value['id'].'">'.$value['language'].'</option>';
}
你能分享什麼,如果有的話,你試過嗎? SO是不是一個'給我代碼'那種女孩。 –
LOL @AbraCadaver –
我會做一個皮疹和愚蠢的建議 - 你看過手冊[PHP排序手冊](http://php.net/ manual/en/function.sort.php)我知道是一個激進的想法,但試試吧,讓它成爲你的朋友 – RiggsFolly