Php 将不同数组中的值合并到具有相同键的数组中
我有两个阵列:Php 将不同数组中的值合并到具有相同键的数组中,php,arrays,merge,array-merge,Php,Arrays,Merge,Array Merge,我有两个阵列: Array ( [0] => 5 [1] => 4 ) Array ( [0] => BMW [1] => Ferrari ) 我希望得到这个结果。使用相同的键合并值 Array ( [0] => Array ( [0] => 5 [1] => BMW ) [1] => Array
Array
(
[0] => 5
[1] => 4
)
Array
(
[0] => BMW
[1] => Ferrari
)
我希望得到这个结果。使用相同的键合并值
Array
(
[0] => Array
(
[0] => 5
[1] => BMW
)
[1] => Array
(
[0] => 4
[1] => Ferrari
)
)
我怎么能这么做?是否有任何本机
PHP
函数可以执行此操作?我尝试了array\u merge\u recursive
和array\u merge
但是没有得到预期的结果至于@splash58评论:
你可以用。这里有一个例子:
$array = [["5", "4"], ["BMW", "Ferrari"]];
$res = array_map(null, ...$array);
现在res
将包含:
Array
(
[0] => Array
(
[0] => 5
[1] => BMW
)
[1] => Array
(
[0] => 4
[1] => Ferrari
)
)
如果数组位于2个不同的变量中,则可以使用:
$res= array_map(null, ["5", "4"], ["BMW", "Ferrari"]);
关于@splash58评论: 你可以用。这里有一个例子:
$array = [["5", "4"], ["BMW", "Ferrari"]];
$res = array_map(null, ...$array);
现在res
将包含:
Array
(
[0] => Array
(
[0] => 5
[1] => BMW
)
[1] => Array
(
[0] => 4
[1] => Ferrari
)
)
如果数组位于2个不同的变量中,则可以使用:
$res= array_map(null, ["5", "4"], ["BMW", "Ferrari"]);
您可以使用带有null的array_map作为第一个参数(手册中有一个示例),以获得所需的结果:
<?php
$nums = [0 => 5, 1 => 4];
$cars = [0 => 'BMW', 1 => 'Ferrari'];
var_export(array_map(null, $nums, $cars));
请注意,以下输入将给出相同的结果:
$nums = ['puff' => 5, 'powder' => 4];
$cars = ['powder' => 'BMW', 'puff' => 'Ferrari'];
如上所述,使用数组_映射时,决定结果中的配对的是顺序,而不是键
使用foreach键关联(注意$cars的顺序):
您可以使用array\u map with null作为第一个参数(手册中有一个示例),以获得所需的结果:
<?php
$nums = [0 => 5, 1 => 4];
$cars = [0 => 'BMW', 1 => 'Ferrari'];
var_export(array_map(null, $nums, $cars));
请注意,以下输入将给出相同的结果:
$nums = ['puff' => 5, 'powder' => 4];
$cars = ['powder' => 'BMW', 'puff' => 'Ferrari'];
如上所述,使用数组_映射时,决定结果中的配对的是顺序,而不是键
使用foreach键关联(注意$cars的顺序):
$new=array\u映射(null,$array)代码>我不能将你的答案标记为该问题的解决方案。但这就解决了问题。这肯定是个骗局。数组映射手册:“此函数的一个有趣用法是构造数组数组,使用NULL作为回调函数的名称可以很容易地执行此操作”,请参见示例#4。$new=array\u映射(NULL,$array)代码>我不能将你的答案标记为该问题的解决方案。但这就解决了问题。这肯定是个骗局。数组映射手册:“这个函数的一个有趣用法是构造一个数组数组,使用NULL作为回调函数的名称可以很容易地执行”,请参见示例#4.OP有两个数组,那么为什么要将它们打包,然后用splat解包呢?我引用splash58。另外,添加使用2个阵列的方法Sop有两个阵列,那么为什么要将它们打包,然后使用splat解包呢?我引用splash58。还添加了使用2个阵列执行此操作的方法