1. Если ты захотел изменить элемент в массиве, то нужно указать ссылку на него
&$val
2. Когда ты запускаешь рекурсию и тебе нужны данные, которые она возвращает, то их надо записывать
$val = deep($val);
3. Нельзя в
foreach
использовать
array_merge
Вот, что получилось:
$test_mass = [
'tk98op' => [
'p5ld2se' => [],
'38hjp9' => [
'2we8t2' => [],
'1142ln' => [],
],
'669yo36' => [
'6318u7' => [
'22rv86' => [],
'13we42' => [],
],
'jk66d3' => [],
],
],
];
function deep($mass)
{
foreach ($mass as $key => &$val) {
$val = (\is_array($val) && \count($val) === 0)
?
[1, 4, 217, 432]
: deep($val);
}
unset($val);
return $mass;
}