php根据每个数组中的键位置将数组重新排列在一起
我有三个阵列:php根据每个数组中的键位置将数组重新排列在一起,php,arrays,Php,Arrays,我有三个阵列: ['a', 'apple', 'albania']; ['b', 'banana', 'brasil']; ['c', 'carrot', 'croatioa']; 我想将这三个数组转换为: ['a', 'b', 'c']; ['apple', 'banana', 'carrot']; ['albania', 'brasil', 'croatioa']; 我怎么做? 我希望键为0的值形成一个新数组,依此类推 将收到任何建议 谢谢大家! 可以使用array\u map()返回一
['a', 'apple', 'albania'];
['b', 'banana', 'brasil'];
['c', 'carrot', 'croatioa'];
我想将这三个数组转换为:
['a', 'b', 'c'];
['apple', 'banana', 'carrot'];
['albania', 'brasil', 'croatioa'];
我怎么做?
我希望键为0
的值形成一个新数组,依此类推
将收到任何建议
谢谢大家! 可以使用
array\u map()
返回一个由三个数组组成的数组
$arr1 = ['a', 'apple', 'albania'];
$arr2 = ['b', 'banana', 'brasil'];
$arr3 = ['c', 'carrot', 'croatioa'];
$newArr = array_map(function($a, $b, $c){
return [$a,$b,$c];
},$arr1, $arr2, $arr3);
print_r($newArr);
您可以使用
array\u map()
返回一个由三个数组组成的数组
$arr1 = ['a', 'apple', 'albania'];
$arr2 = ['b', 'banana', 'brasil'];
$arr3 = ['c', 'carrot', 'croatioa'];
$newArr = array_map(function($a, $b, $c){
return [$a,$b,$c];
},$arr1, $arr2, $arr3);
print_r($newArr);
不是免费的代码编写服务。您应该尝试自己编写代码。之后,如果你有问题,你可以张贴你已经尝试了一个明确的解释什么是不工作,并提供一个解决方案。我建议读一个好问题。当然,我知道。我只需要一个方向。1)您可以创建一个大数组,在内部数组上循环,并为每个键(0、1、2)创建新数组。2) 在旧数组上创建3个数组循环,并将每个键(0、1、2)及其值移动到相应的新数组中。我试图避免使用循环。有没有一个函数可以做到这一点?@DavSev-这不是一个常见的要求,因此我想不出一个内置的PHP函数可以做到这一点。我先从汤姆·乌丁的建议开始,看看你做得怎么样。如果你需要更多的帮助,请回来。不是免费的代码编写服务。您应该尝试自己编写代码。之后,如果你有问题,你可以张贴你已经尝试了一个明确的解释什么是不工作,并提供一个解决方案。我建议读一个好问题。当然,我知道。我只需要一个方向。1)您可以创建一个大数组,在内部数组上循环,并为每个键(0、1、2)创建新数组。2) 在旧数组上创建3个数组循环,并将每个键(0、1、2)及其值移动到相应的新数组中。我试图避免使用循环。有没有一个函数可以做到这一点?@DavSev-这不是一个常见的要求,因此我想不出一个内置的PHP函数可以做到这一点。我先从汤姆·乌丁的建议开始,看看你做得怎么样。如果需要更多帮助,请返回。如果循环
$newArr
,您将获得请求的输出。可能超出原始请求的范围,但如果源数组长度不相等,这是否会导致错误的输出?只是一些需要注意的事情。但这是一个极好的解决方案。如果您有不同的数组长度,这仍然是可以的。我认为当短数组中不存在值时,您会得到null
值。如果您循环$newArr
,您将得到请求的输出。可能超出了原始请求的范围,但是,如果源数组的长度不相等,这会导致错误的输出吗?只是一些需要注意的事情。但这是一个很好的解决方案。如果您有不同的数组长度,则仍然可以。我认为,当短数组中不存在值时,您会得到null
值。