问题描述
按照,称 array_map
与 NULL
回调使其执行压缩功能,创建从给定的阵列并行元素的数组的数组。
According to the PHP Manual, calling array_map
with a NULL
callback causes it to perform a "zip" function, creating an array of arrays of parallel elements from the given arrays.
例如:
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
采用阵列的列表,而不是一个阵列阵列。
Right now, it appears this is the closest way (using built-in functions) you can transpose an array, except that array_map
takes a list of arrays, not an array of arrays.
在一些code我的工作,我需要变换数组,而不是一个数组列表的数组,所以我做了这个解决方法:
In some code I am working on, I need to transpose an array of arrays, not a list of arrays, so I made this work-around:
call_user_func_array('array_map',array_merge(array(NULL),$array_of_arrays))
不过,这种感觉非常肮脏,笨拙的。
However, this feels very dirty and clumsy.
于是我问:结果
有没有更好的办法从一个自定义实现转二维数组用PHP,一边?
推荐答案
不。这是最优雅的。
这篇关于有没有更好的办法来调换一个PHP二维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!