У меня есть многомерный массив, как показано ниже, в котором я хочу выполнить сортировку на основе поля [name]
в php.
Array
(
[chicago] => Array
(
[community_name] => Chicago, IL
[areas] => Array
(
[0] => Array
(
[name] => Array
(
[0] => HELLO WORLD.
)
)
[1] => Array
(
[name] => Array
(
[0] => Hello
)
)
[2] => Array
(
[name] => Array
(
[0] => Administration.
)
)
)
)
[chicago-and-surrounding-areas] => Array
(
[community_name] => Chicago (and surrounding areas), IL
[areas] => Array
(
[0] => Array
(
[name] => Array
(
[0] => Carry.
)
)
[1] => Array
(
[name] => Array
(
[0] => Bacteria.
)
)
)
)
[cambridge-chicago] => Array
(
[community_name] => Cambridge (Chicago), IL
[areas] => Array
(
[0] => Array
(
[name] => Array
(
[0] => Responsibility.
)
)
[1] => Array
(
[name] => Array
(
[0] => Bacteria.
)
)
)
)
)
Вот чего я хочу достичь:
Array
(
[chicago] => Array
(
[community_name] => Chicago, IL
[areas] => Array
(
[0] => Array
(
[name] => Array
(
[0] => Administration
)
)
[1] => Array
(
[name] => Array
(
[0] => Hello
)
)
[2] => Array
(
[name] => Array
(
[0] => HELLO WORLD.
)
)
)
)
[chicago-and-surrounding-areas] => Array
(
[community_name] => Chicago (and surrounding areas), IL
[areas] => Array
(
[0] => Array
(
[name] => Array
(
[0] => Bacteria.
)
)
[1] => Array
(
[name] => Array
(
[0] => Carry.
)
)
)
)
[cambridge-chicago] => Array
(
[community_name] => Cambridge (Chicago), IL
[areas] => Array
(
[0] => Array
(
[name] => Array
(
[0] => Bacteria.
)
)
[1] => Array
(
[name] => Array
(
[0] => Responsibility.
)
)
)
)
)
Это то, что я пробовал, но я думаю, что нужно сделать больше.
function cmp($a, $b)
{
if ($a["name"] == $b["name"]) {
return 0;
}
return ($a["name"] < $b["name"]) ? -1 : 1;
}
usort($response,"cmp");
Постановка проблемы:
Мне интересно, что изменится Мне нужно сделать код php выше, чтобы он сортировал массив на основе поля name
. С моим кодом php выше он ничего не сортирует. Он просто печатает ввод как есть.