I want to add sub arrays to one single array in php
array-merge, arrays, php
Solution
Try this :
$array = your array
$result = call_user_func_array('array_merge', $array);
echo "<pre>";
print_r($result);
Or try this :
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);
Problem
i have array like this......... ``` 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 ) ) ``` and i want like this......... ``` Array ( [0] => rose [1] => monkey [2] => donkey [3] => daisy [4] => monkey [5] => donkey [6] => orchid [7] => monkey [8] => donkey ) ``` ....I used array merge but it's not working because my array generates dymaically and each time shows different arrays. problem is I can't pass arrays dynamically in array_merge() function.It accepts only manually entries of array and not accepts any other variable .function accepts only array. it works like this ... ``` $total_data = array_merge($data[0],$data[1],$data[2]); ``` as each time it generates different numbers of array dynamically so i have to use like this.... ``` $data_array = $data[0],$data[1],$data[2]; $total_data = array_merge($data_array); ``` but it shows an error "array_merge() [function.array-merge]: Argument #1 is not an array"......