lle*_*oun 1 php arrays foreach loops multidimensional-array
我需要打开这个数组:
$data = array(array('a', 'b'), array('1','2'), array('hi','bye'));
Run Code Online (Sandbox Code Playgroud)
进入这一个:
$final = array (array ('a', '1', 'hi'), array ('b','2','bye'));
Run Code Online (Sandbox Code Playgroud)
如何循环$data
获取$final
?我已经循环了几个小时,我无法得到它.
您可以使用array_map
有趣的方式执行此操作:
$data = array(array('a', 'b'), array('1','2'), array('hi','bye'));
array_unshift($data, null); /* or use the array union operator: array(null) + $data */
$result = call_user_func_array('array_map', $data);
print_r($result);
Run Code Online (Sandbox Code Playgroud)
产量:
Array
(
[0] => Array
(
[0] => a
[1] => 1
[2] => hi
)
[1] => Array
(
[0] => b
[1] => 2
[2] => bye
)
)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)
编辑
如果你对这里发生的事情的细分感兴趣,我在这里写了一篇简短的博客文章
基本上,如果你null
作为第一个参数传递array_map
,你可以传递任意数量的数组 - 该函数为你完成所有旋转.有用!
如果您有一个数组数组(就像您一样),那么您需要一些帮助call_user_func_array
来"解包"数组.