Массив массива PHP в алфавитном порядке с использованием значения подмашины
Возможный дубликат:
Как отсортировать многомерный массив в php
PHP Сортировка массива по значению SubArray
PHP сортирует многомерный массив по значению
Мой массив выглядит так:
Array(
[0] => Array(
[name] => Bill
[age] => 15
),
[1] => Array(
[name] => Nina
[age] => 21
),
[2] => Array(
[name] => Peter
[age] => 17
)
);
Я хотел бы отсортировать их в алфавитном порядке на основе их имени.
Я видел PHP Sort Array By SubArray Value, но это мало помогло.
Любые идеи, как это сделать?
Ответы
Ответ 1
Вот ваш ответ, и он работает на 100%, я его протестировал.
<?php
$a = Array(
1 => Array(
'name' => 'Peter',
'age' => 17
),
0 => Array(
'name' => 'Nina',
'age' => 21
),
2 => Array(
'name' => 'Bill',
'age' => 15
),
);
function compareByName($a, $b) {
return strcmp($a["name"], $b["name"]);
}
usort($a, 'compareByName');
/* The next line is used for debugging, comment or delete it after testing */
print_r($a);
Ответ 2
usort
- ваш друг:
function cmp($a, $b)
{
return strcmp($a["name"], $b["name"]);
}
usort($array, "cmp");