foreach 循环2个数组并重组 以ID为条件 name为什么会重复并且拿的是最后一位,要怎么做才不会重复
2个数组是我自己写的 现实中健值是不一致的
foreach($a as $k=>&$r){
foreach ($b as $y => $value) {
if ($r['id']==$value['id']) {
$r['name']=$value['name'];
}
}
}
Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
[2] => Array
(
[id] => 2
)
[3] => Array
(
[id] => 2
)
[4] => Array
(
[id] => 2
)
)
Array
(
[0] => Array
(
[id] => 1
[name] => 1
)
[1] => Array
(
[id] => 2
[name] => 张三
)
[2] => Array
(
[id] => 2
[name] => 李四
)
[3] => Array
(
[id] => 2
[name] => 王五
)
[4] => Array
(
[id] => 2
[name] => 小二
)
)
循环的结果
Array
(
[0] => Array
(
[id] => 1
[name] => 1
)
[1] => Array
(
[id] => 2
[name] => 小二
)
[2] => Array
(
[id] => 2
[name] => 小二
)
[3] => Array
(
[id] => 2
[name] => 小二
)
[4] => Array
(
[id] => 2
[name] => 小二
)
)
因为第二个数组的后面的
'id'=>2
是重复的,所以只取到了最后的值'小二'