1 回答

TA貢獻1869條經驗 獲得超4個贊
根據您的示例,您實際上是在嘗試areas對子數組進行排序,而不是對整個父數組進行排序。因此,您需要依次循環每個子數組并分別對它們進行排序。
$array = [
'chicago' => [
'community_name' => 'Chicago, IL',
'areas' => [
[
'name' => ['HELLO WORLD.']
],
[
'name' => ['Hello'],
],
[
'name' => ['Administration.'],
],
],
],
'chicago-and-surrounding-areas' => [
'community_name' => 'Chicago (and surrounding areas), IL',
'areas' => [
[
'name' => ['Carry.']
],
[
'name' => ['Bacteria.'],
],
],
],
'cambridge-chicago' => [
'community_name' => 'Cambridge (Chicago), IL',
'areas' => [
[
'name' => ['Responsibility.']
],
[
'name' => ['Bacteria'],
],
],
],
];
foreach ($array as &$locality) {
usort($locality['areas'], function ($a, $b) {
return $a['name'][0] <=> $b['name'][0];
});
}
var_dump($array);
- 1 回答
- 0 關注
- 123 瀏覽
添加回答
舉報