ste*_*eve 6 php arrays array-merge
我有这样的数组.........
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
)
)
Run Code Online (Sandbox Code Playgroud)
我想要这样.........
Array
(
[0] => rose
[1] => monkey
[2] => donkey
[3] => daisy
[4] => monkey
[5] => donkey
[6] => orchid
[7] => monkey
[8] => donkey
)
Run Code Online (Sandbox Code Playgroud)
....我使用了数组合并但它没有工作,因为我的数组生成动态,每次显示不同的数组.问题是我无法在array_merge()函数中动态传递数组.它只接受数组的手动条目而不接受任何其他变量.function只接受数组.
它像这样工作......
$total_data = array_merge($data[0],$data[1],$data[2]);
Run Code Online (Sandbox Code Playgroud)
因为每次它动态生成不同数量的数组所以我必须像这样使用....
$data_array = $data[0],$data[1],$data[2];
$total_data = array_merge($data_array);
Run Code Online (Sandbox Code Playgroud)
但它显示错误"array_merge()[function.array-merge]:参数#1不是数组"......
Pra*_*dra 20
试试这个 :
$array = your array
$result = call_user_func_array('array_merge', $array);
echo "<pre>";
print_r($result);
Run Code Online (Sandbox Code Playgroud)
或试试这个:
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);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5797 次 |
最近记录: |