У меня есть массив вроде этого ………
Array ( [0] => Array ( [0] => rose [1] => monkey [2] => donkey ) [1] => Array ( [0] => daisy [1] => monkey [2] => donkey ) [2] => Array ( [0] => orchid [1] => monkey [2] => donkey ) )
и я хочу, как это ………
Array ( [0] => rose [1] => monkey [2] => donkey [3] => daisy [4] => monkey [5] => donkey [6] => orchid [7] => monkey [8] => donkey )
…. Я использовал слияние массива, но он не работает, потому что мой массив генерирует dymaically и каждый раз показывает разные массивы. Проблема заключается в том, что я не могу динамически передавать массивы в функции array_merge (). Он принимает только вручную записи массива и не принимает никакой другой переменной .function принимает только массив.
он работает так …
$total_data = array_merge($data[0],$data[1],$data[2]);
так как каждый раз он генерирует разные числа массива динамически, поэтому я должен использовать вот так ….
$data_array = $data[0],$data[1],$data[2]; $total_data = array_merge($data_array);
но он показывает ошибку "array_merge () [function.array-merge]: Аргумент # 1 не является массивом" ……
Попробуй это :
$array = your array $result = call_user_func_array('array_merge', $array); echo "<pre>"; print_r($result);
Или попробуйте следующее:
function array_flatten($array) { $return = array(); foreach ($array as $key => $value) { if (is_array($value)){ $return = array_merge($return, array_flatten($value));} else {$return[$key] = $value;} } return $return; } $array = Your array $result = array_flatten($array); echo "<pre>"; print_r($result);
попробуй это…..
$result = array(); foreach($data as $dat) { foreach($dat as $d) { $result[] = $d; } }