[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как добавить массив в конец многомерного массива?
linf
Существует массив произвольной глубины (до нескольких сот вложений), где каждый элемент массива: либо еще один заполненный массив, либо пустой массив. Но всегда массив!

Есть функция которая обходит этот массив, и:

Если находит "на краю" (на дне) глубины многомерного массива пустой массив, то заносит туда другой массив.
Если занесла, то прокручивает дальше, если не занесла и глубину больше нет останавливается.
Пример массива:

$test_mass['tk98op'] = array('p5ld2se'=>array(),
'38hjp9'=>array('2we8t2'=>array(), '1142ln'=>array()),
'669yo36'=>array('6318u7'=>array('22rv86'=>array(),
'13we42'=>array()), 'jk66d3'=>array()));


Вот мой код:

function deep($mass, $b = 0)
{
foreach ($mass as $key=>$val)
{
if(is_array($val))
{
if(count($val) == 0)
{
/* не один из этих трех вариантов ничего не дописывает */
//$val = array(1,4,217,432);
//$mass = array_merge($val, array(1,4,217,432));
//$mass[$key] = array(1,4,217,432);

}
deep($val, $b);
}
}

return $mass;
}


Как я полагаю проблема в полной адресации до глубины, но как ее решить универсально пока не понимаю. Прошу помощи.

Вот что мы должны иметь на выходе:

Array
(
[tk98op] => Array
(
[p5ld2se] => Array
(
[0] => 1
[1] => 4
[2] => 217
[3] => 432
)
[38hjp9] => Array
(
[2we8t2] => Array
(
[0] => 1
[1] => 4
[2] => 217
[3] => 432
)
[1142ln] => Array
(
[0] => 1
[1] => 4
[2] => 217
[3] => 432
)
)
[669yo36] => Array
(
[6318u7] => Array
(
[22rv86] => Array
(
[0] => 1
[1] => 4
[2] => 217
[3] => 432
)
[13we42] => Array
(
[0] => 1
[1] => 4
[2] => 217
[3] => 432
)
)
[jk66d3] => Array
(
[0] => 1
[1] => 4
[2] => 217
[3] => 432
)
)
)
)


_____________
Live in new format =)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.