gpt4 book ai didi

PHP - 合并两个类似于 array_combine 的数组,但具有重复的键

转载 作者:可可西里 更新时间:2023-10-31 23:51:58 24 4
gpt4 key购买 nike

我有两个数组:

$arrKeys = array('str', 'str', 'otherStr');
$arrVals = array('1.22', '1.99', '5.17');

我想把它们合并成这样

$arrResult = array(
array('str' => 1.22),
array('str' => 1.99),
array('otherStr' => 5.17)
);

键是非唯一的,否则我会使用array_combine。这会产生一些不同的输出,但它也适合我。

是否可以使用 PHP 5.2.x 以优雅的方式完成此操作,无需 foreach/for 循环,最好使用 PHP 的内置函数?

最佳答案

您可以使用 array_map :

$arrKeys = array('str', 'str', 'otherStr');
$arrVals = array('1.22', '1.99', '5.17');
function foo($key, $val) {
return array($key=>$val);
}

$arrResult = array_map('foo', $arrKeys, $arrVals);

print_r($arrResult);
Array
(
[0] => Array
(
[str] => 1.22
)

[1] => Array
(
[str] => 1.99
)

[2] => Array
(
[otherStr] => 5.17
)

)

顺便说一句,如果您升级到 PHP 5.3,您可以使用匿名函数来执行此操作,这会更优雅一些:

array_map(function($key, $val) {return array($key=>$val);}, $arrKeys, $arrVals);

关于PHP - 合并两个类似于 array_combine 的数组,但具有重复的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com