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