重新组织php数组
我有3个这样的阵列: 阵列1( [0]=>值1-1 [1] =>值1-2 [2] =>值1-3) 阵列2( [0]=>值2-1 [1] =>值2-2 [2] =>值2-3) 阵列3( [0]=>值3-1 [1] =>值3-2 [2] =>值3-3) 我想做什么 阵列4( [0]=>值1-1 [1] =>值2-1 [2] =>值3-1) 阵列5( [0]=>值1-2 [1] =>值2-2 [2] =>值3-2) 阵列6( [0]=>值1-3 [1] =>值2-3 [2] =>值3-3)重新组织php数组,php,arrays,foreach,Php,Arrays,Foreach,我有3个这样的阵列: 阵列1( [0]=>值1-1 [1] =>值1-2 [2] =>值1-3) 阵列2( [0]=>值2-1 [1] =>值2-2 [2] =>值2-3) 阵列3( [0]=>值3-1 [1] =>值3-2 [2] =>值3-3) 我想做什么 阵列4( [0]=>值1-1 [1] =>值2-1 [2] =>值3-1) 阵列5( [0]=>值1-2 [1] =>值2-2 [2] =>值3-2) 阵列6( [0]=>值1-3 [1] =>值2-3 [2] =>值3-3) 有一种简单
有一种简单的方法吗?这叫做
转置。如果将阵列1、2和3组合成二维阵列,则可以在此处使用答案:
然后你可以这样使用它:
$myArray = array(
array('value 1-1', 'value 1-2', 'value 1-3'),
array('value 2-1', 'value 2-2', 'value 2-3'),
array('value 3-1', 'value 3-2', 'value 3-3')
);
$newArray = transpose($myArray);
然后,如果需要,可以将$newArray
分成3个数组
演示:
编辑:这与调用相同:
$newArray = array_map(null, $array1, $array2, $array3);
编辑2:对于疯狂的一行,您可以执行以下操作:
list($array4, $array5, $array6) = array_map(null, $array1, $array2, $array3);
非常感谢。如果我在array1/array2/array3中有3个以上的值。是否有方法计算值(每个数组的值数相同)并列出创建的数组数?@user2145444:类似于count($newArray)
?
list($array4, $array5, $array6) = array_map(null, $array1, $array2, $array3);