php - 如果值相同,我想合并数组
问题描述
我正在尝试按时间值组合多个数组。我有一个这样的数组。我想合并 2 个数组,我使用 array_merge
Array_one :
[
{
date:"2018-06-23",
size:"L",
type:"shoes",
value_one:"66"
},
{
date:"2018-06-23",
size:"XL",
type:"shirt",
value_one:"43"
},
{
date:"2018-06-23",
size:"M",
type:"Bag",
value_one:"23"
}
]
Array_two :
[
{
date:"2018-06-23",
size:"L",
type:"shoes",
value_two:"28"
},
{
date:"2018-06-23",
size:"XL",
type:"shirt",
value_two:"56"
},
{
date:"2018-06-23",
size:"M",
type:"Bag",
value_two:"14"
},
{
date:"2018-06-23",
size:"S",
type:"Cap",
value_two:"29"
}
]
如果索引日期、大小相同,我需要将这 2 个数组与 y 值结合起来,键入它的合并。例如,组合后的数组应该是这样的。
Array_final :
[
{
date:"2018-06-23",
size:"L",
type:"shoes",
value_one:"66",
value_two:"28"
},
{
date:"2018-06-23",
size:"XL",
type:"shirt",
value_one:"43",
value_two:"56"
},
{
date:"2018-06-23",
size:"M",
type:"Bag",
value_one:"23",
value_two:"14"
},
{
date:"2018-06-23",
size:"S",
type:"Cap",
value_one:"null",
value_two:"29"
}
]
这种情况我该怎么办?我想用 php、laravel 或集合“Laravel”类来解决这个问题。请帮我。
解决方案
尝试
//both arrays will be merged including duplicates
$result = array_merge( $array1, $array2 );
//duplicate objects will be removed
$result = array_map("unserialize", array_unique(array_map("serialize", $result)));
//array is sorted on the bases of id
sort( $result );
推荐阅读
- perl - 在 Perl 中使用三元条件运算符有更短的方法吗?
- php - 使用 php 将文件上传到 Dropbox - Dropbox-SDK-PHP
- android - 如果我登录另一个用户而不注销前一个用户会发生什么?
- ios - 可以将数据从应用程序传输到浏览器
- python-3.x - Sympy:空图作为输出
- java - NIfi 错误:OPCUA 处理器。服务器已停止,无法处理任何请求
- mongodb - 聚合时如何自动添加除一个以外的所有字段?
- mongodb - 无法用一个丢失的集合 wt 文件启动 mongod
- c# - 使用 .replace(string,string) 而不是 .replace(char,char)
- csv - 由于额外的逗号,无法使用分隔符解析 csv