<?php
$array = [
[
'name' => 'Foo',
'children' => [
[
'name' => 'B',
'children' => []
],
[
'name' => 'A',
'children' => []
]
]
],
[
'name' => 'Bar',
'children' => [
[
'name' => 'Z',
'children' => []
],
[
'name' => 'X',
'children' => []
],
[
'name' => 'Y',
'children' => []
]
]
]
];
array_usort($array, $f = function(&$x, &$y) use (&$f){
array_usort($x['children'], $f);
array_usort($y['children'], $f);
return strcasecmp($x['name'], $y['name']);
});
var_dump($array);
preferences:
41.97 ms | 402 KiB | 5 Q