Мой массив выглядит так.Как отсортировать массив ассоциативных массивов в 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-функция очень полезна для таких условий. 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 Sort Manual] (http://php.net/) manual/en/function.sort.php) Я знаю, что это радикальная идея, но попробуйте, сделайте ее своим другом. – RiggsFolly