gpt4 book ai didi

php - 在 PHP 中合并两个数组

转载 作者:可可西里 更新时间:2023-11-01 00:53:12 26 4
gpt4 key购买 nike

我正在尝试从两个当前数组创建一个新数组。试过 array_merge,但它不会给我想要的东西。 $array1 是我传递给函数的键列表。 $array2 保存该函数的结果,但不包含任何不可用的键结果。因此,我想确保所有请求的键都带有 'null':ed 值,如显示的 $result 数组所示。

它有点像这样:

$array1 = array('item1', 'item2', 'item3', 'item4');

$array2 = array(
'item1' => 'value1',
'item2' => 'value2',
'item3' => 'value3'
);

这是我想要的结果:

$result = array(
'item1' => 'value1',
'item2' => 'value2',
'item3' => 'value3',
'item4' => ''
);

可以通过这种方式完成,但我认为这不是一个好的解决方案 - 我真的不喜欢通过在代码中添加 @:s 来采取简单的方法来抑制 PHP 错误。根据示例,此示例显然会引发错误,因为 'item4' 不在 $array2 中。

foreach ($keys as $k => $v){
@$array[$v] = $items[$v];
}

那么,实现相同结果的最快(性能方面)方法是什么?

最佳答案

array_fill_keys 将为您构建一个可以在 array_merge 中使用的漂亮数组:

array_merge(array_fill_keys($array1, ''), $array2);

或者,您可以使用执行联合的 + 操作代替 array_merge:

$array2 + array_fill_keys($array1, '');

这个适用于数字键或混合数字/字符串 :)

关于php - 在 PHP 中合并两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890054/

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