Я пытаюсь повторно проиндексировать и отсортировать многомерный массив PHP, имея в виду, что если некоторые из внутренних массивов не имеют определенного индекса, а другие имеют, мы хотим просто перейти к следующему индексу в этом конкретный внутренний массив
Например, исходный массив ниже не имеет индекса массива 4 в subject_1 и subject_3, но имеет его в subject_2
Array
(
[subject_1] => Array
(
[2] => a
[6] => b
)
[subject_2] => Array
(
[2] => c
[4] => d
[6] => e
)
[subject_3] => Array
(
[2] => f
[6] => g
)
)
Итак, массив ожидаемых результатов должен быть примерно таким, как показано ниже
Array
(
[subject_1] => Array
(
[0] => a
[2] => b
)
[subject_2] => Array
(
[0] => c
[1] => d
[2] => e
)
[subject_3] => Array
(
[0] => f
[2] => g
)
)
)
)
Проблема с приведенным ниже кодом заключается в том, что он знает, существует ли индекс на всех подмассивах перед сортировкой.
$all_incoming_keys = array();
foreach($p2 as $key => $value){
$all_incoming_keys[] = $key;
}
for($sp2 = 0; $sp2 < count($p2); $sp2++){
sort($p2[$all_incoming_keys[$sp2]]);
array_values($p2[$all_incoming_keys[$sp2]]);
}
Этот код является правильным подходом для ситуации или является там функция, которую мне не хватает