gpt4 book ai didi

PHP,使用公共(public)键合并数组

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

我需要将两个数组合并为一个,同时保留所有键并在数组中列出值,如本例所示:

$array1 = array('car' => '3', 'bus' => '2');
$array2 = array('dog' => '1', 'car' => '2', 'bird' => '9');

$merged = array(
'car' => array('3','2'),
'bus' => array('2',null),
'dog' => array(null,'1'),
'bird' => (null,'9')
);

最佳答案

function merge_common_keys(){
$arr = func_get_args();
$num = func_num_args();

$keys = array();
$i = 0;
for ($i=0; $i<$num; ++$i){
$keys = array_merge($keys, array_keys($arr[$i]));
}
$keys = array_unique($keys);

$merged = array();

foreach ($keys as $key){
$merged[$key] = array();
for($i=0; $i<$num; ++$i){
$merged[$key][] = isset($arr[$i][$key]) ? $arr[$i][$key] : null;
}
}
return $merged;
}

用法:

$merged = merge_common_keys($array1,$array2);

附言。它可以处理两个以上的数组,只需传递任意数量的下一个参数即可。

关于PHP,使用公共(public)键合并数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4072348/

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