根据PHP手册的说法,使用
例如:
NULL
回调函数调用array_map
将导致它执行“zip”函数,从给定数组中创建平行元素的数组数组。例如:
array_map(NULL,array(1,2,3),array('a','b','c'));
产生,得出array(array(1,'a'),array(2,'b'),array(3,'c'))
这也等同于对数组进行转置操作
array(array(1,2,3),array('a','b','c'))
目前,使用内置函数似乎是最接近转置数组的方式,但是array_map
需要一个数组列表,而不是一个数组的列表。
在我正在处理的一些代码中,我需要转置一个数组的列表,而不是一个数组的列表,所以我做了这个变通:
call_user_func_array('array_map',array_merge(array(NULL),$array_of_arrays))
然而,这种方法让人感到很不美观和笨拙。
因此我问:
除了自定义实现之外,有没有更好的方法可以在PHP中转置二维数组?
$array_of_arrays
,它会改变它,所以我之后必须执行array_shift($array_of_arrays)
... - Austin Hyde$array_of_arrays = $my_arrays_of_arrays
- user102008