Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新组织php数组_Php_Arrays_Foreach - Fatal编程技术网

重新组织php数组

重新组织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) 有一种简单

我有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);