我正在创建两个数字键可能匹配的数组,但是当我使用数组合并或+运算符时,它会与自动数字键合并。我想保留原始数字键。
foreach($qr1 as $b){
$day=(int)substr($b->dob,8,2);
$events_arr1[$day]=$b;
}
它返回一个类似
的数组数组([4] => Arnab Roy [13] => Kaushik De [14] => Brett,测试 )
foreach($qr2 as $b){
$day=(int)substr($b->dob,8,2);
$events_arr2[$day]=$b;
}
它返回一个类似
的数组数组([14] => shouts1,shouts2)
$events_arr=$events_arr1+$events_arr2;
echo "<pre>";
print_r($events_arr);
exit;
它返回一个类似
的数组 Array
(
[4] => Arnab Roy
[13] => Kaushik De
[14] => Brett , Test
)
但最后一个数组索引没有合并..不知道为什么
答案 0 :(得分:0)
您不能在数组中多次使用相同的密钥,这就是为什么它无法合并第二个数组:密钥&#34; 14&#34;已存在于第一个数组中。
答案 1 :(得分:0)
永远不可能创建具有相同键的数组。如果数组键相同,则无法合并两个数组。我们可以看到,在两个数组中都有相同的键'14'。尝试使用您的功能而不是array_merge
或concat数组。我的建议是你可以将两个数组转换成一个字符串并连接两个字符串。