У меня есть массивИерархический массив Преобразование в плоский массив
$array = array(
array(1,2,3),
array('bob','bill'),
array(4,5,6,7)
//can have between 0 and 5 "rows"
);
Я хочу, чтобы преобразовать в массив, который выглядит следующим образом ...
[1,bob,4, 1, bob, 5, 1, bob, 6, 1, bob, 7, 1, bill, 4 .... 3, bill, 7]
Я пытался написать рекурсивный функция для этого, которое выглядит как ...
function GetValues($array, $rowIndex, $valIndex, $values)
{
if(!isset($array[$rowIndex]))
{
return $values;
}
if(!isset($array[$rowIndex][$valIndex]))
{
return GetValues($array,$rowIndex+1, 0, $values);
}
$values[] = $array[$rowIndex][$valIndex];
return GetValues($array,$rowIndex, $valIndex+1, $values);
}
который только заканчивает переборе массива обычно (печатает 1,2,3, ЛПП, счет, 4,5,6, 7)
См: http://stackoverflow.com/q/797251/3933332 – Rizier123
@ Rizier123 Это не делает то, что нужно – EyeOfTheHawks
'$ flatArray = call_user_func_array ('array_merge', $ array);' – splash58