如何解决如何根据php中的值合并数组?
我有 2 个数组,我必须合并具有相似值的数组。我尝试了 PHP 的每个和基本函数来合并数组,但没有得到正确的结果。
我尝试了下面的事情,但它对我不起作用,因为我在第二个数组中有多个数据。正如您在子数组中看到的那样,我有多个记录,我想将它们一起保存在基本数组中。
$base= [
['id' => 1],['id' => 2],['id' => 3],['id' => 4],];
$child = [
['id' => 1,'size' => 'SM'],['id' => 1,'size' => 'LK'],['id' => 2,'size' => 'XL'],['id' => 4,'size' => 'LG'],['id' => 3,'size' => 'MD'],];
foreach(array_merge($base,$child) as $el){
$merged[$el['id']] = ($merged[$el['id']] ?? []) + $el;
}
Output :
array (
1 =>
array (
'id' => 1,'size' => 'SM',),2 =>
array (
'id' => 2,'size' => 'XL',3 =>
array (
'id' => 3,'size' => 'MD',4 =>
array (
'id' => 4,'size' => 'LG',)
desired output :
array (
1 =>
array (
'id' => 1,1 => array('size' => 'SM'),2 => array('size' => 'LK'),2 =>
array (
'id' => 2,1 => array('size' => 'XL'),3 =>
array (
'id' => 3,1 => array('size' => 'MD'),4 =>
array (
'id' => 4,1 => array('size' => 'LG'),)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。