sorting — php 7 — сортировать многоуровневый ассоциативный массив по ключам, чтобы он сортировался на каждом уровне лексикографически

В PHP7, как рекурсивно сортировать все уровни массива, чтобы иметь смежные ключи в лексикографическом порядке?

Этот образец массива:

$a = ['c'=>['d'=>1, 'a'=>2], 'b'=>['b'=>3, 'a'=>4], 'a'=>['z','x','y']];

Я ищу перевод на:

$a = ['a'=>['z','x','y'], 'b'=>['a'=>4, 'b'=>3], 'c'=>['a'=>2, 'd'=>1]];

0

Решение

Наконец-то решено.

$a = ['c'=>['d'=>1, 'a'=>2], 'b'=>['b'=>3, 'a'=>4], 'a'=>['z','x','y']];

function array_sort_recursive($arr) {
foreach ($arr as $key => $val) {
if (is_array($val))
$arr[$key] = array_sort_recursive($val);
}
uksort($arr, "strcmp");
return $arr;
}

$b = array_sort_recursive($a);
print_r($b);

Попытайся: Вот

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]