Решение для прямоугольного 2D-массива действительно простое, но у меня была проблема: мой 2D-массив состоял из 1D-массивов различной длины, например:
myArray=array(
array(1, 2, 3, 4),
array(5, 6, 7),
array(8, 9)
);
и я придумал более обобщенное решение для преобразования любого 2D-массива в 1D:
function array2DTo1D($arr2D){
$i=0; $j=0;
$arr1D=array();
while (isset($arr2D[$i][0])){
while (isset($arr2D[$i][$j])){
$arr1D[]=$arr2D[$i][$j];
$j++;
}
$i++;$j=0;
}
return $arr1D;
}