php - 如何在PHP中合并两个相同大小的对象
问题描述
我有以下两个对象数组:
第一个数组: $array1
Array
(
[0] => stdClass Object
(
[pid] => 1
[pname] => iphone-6s
[product_category] => 1
[product_price] => 250
[product_description] => Its iphone-6s, Apple Brand Products
[product_image] => iPhone6s.png
[uid] => 1
[product_status] => Active
)
[1] => stdClass Object
(
[pid] => 2
[pname] => Beauty Care
[product_category] => 1
[product_price] => 200
[product_description] => Beauty Care's Products
[product_image] => 2ca65f58e35d9ad45bf7f3ae5cfd08f1_beauty-care.png
[uid] => 1
[product_status] => Active
)
[2] => stdClass Object
(
[pid] => 3
[pname] => iphone-4
[product_category] => 1
[product_price] => 230
[product_description] => its iphone-4, Apple Brand Products
[product_image] => 5878a7ab84fb43402106c575658472fa_iphone_4.png
[uid] => 1
[product_status] => Active
)
[3] => stdClass Object
(
[pid] => 4
[pname] => Android tv
[product_category] => 1,2
[product_price] => 180
[product_description] => Smart TV
[product_image] => Android-TV.png
[uid] => 2
[product_status] => Active
)
[4] => stdClass Object
(
[pid] => 5
[pname] => AC
[product_category] => 1
[product_price] => 185
[product_description] => AC
[product_image] => air_conditioner.png
[uid] => 2
[product_status] => Active
)
[5] => stdClass Object
(
[pid] => 6
[pname] => Harry Potter
[product_category] => 4
[product_price] => 25
[product_description] => Harry Potter and the Cursed Child
[product_image] => harry_potter.jpg
[uid] => 1
[product_status] => Active
)
[6] => stdClass Object
(
[pid] => 7
[pname] => Football
[product_category] => 4
[product_price] => 25
[product_description] => Nivia Football
[product_image] => football.jpeg
[uid] => 1
[product_status] => Active
)
[7] => stdClass Object
(
[pid] => 8
[pname] => Ps4
[product_category] => 1,3,4,5
[product_price] => 1600
[product_description] => Ps4
[product_image] => Ps-4.png
[uid] => 2
[product_status] => Active
)
)
第二个数组: $array2
Array
(
[0] => stdClass Object
(
[mysummary] => Electronics
)
[1] => stdClass Object
(
[mysummary] => Electronics,Fashion
)
[2] => stdClass Object
(
[mysummary] => Electronics
)
[3] => stdClass Object
(
[mysummary] => Sports, Books and Gaming etc.
)
[4] => stdClass Object
(
[mysummary] => Sports, Books and Gaming etc.
)
[5] => stdClass Object
(
[mysummary] => Electronics
)
[6] => stdClass Object
(
[mysummary] => Electronics
)
[7] => stdClass Object
(
[mysummary] => Electronics,Home & Furniture,Sports, Books and Gaming etc.,Beauty & Personal Care
)
)
我想合并这两个对象数组
期望的输出:
Array
(
[0] => stdClass Object
(
[pid] => 1
[pname] => iphone-6s
[product_category] => 1
[product_price] => 250
[product_description] => Its iphone-6s, Apple Brand Products
[product_image] => iPhone6s.png
[uid] => 1
[product_status] => Active
[mysummary] => Electronics
)
[1] => stdClass Object
(
[pid] => 2
[pname] => Beauty Care
[product_category] => 1,2
[product_price] => 200
[product_description] => Beauty Care's Products
[product_image] => 2ca65f58e35d9ad45bf7f3ae5cfd08f1_beauty-care.png
[uid] => 1
[product_status] => Active
[mysummary] => Electronics,Fashion
)
[2] => stdClass Object
(
[pid] => 3
[pname] => iphone-4
[product_category] => 1
[product_price] => 230
[product_description] => its iphone-4, Apple Brand Products
[product_image] => 5878a7ab84fb43402106c575658472fa_iphone_4.png
[uid] => 1
[product_status] => Active
[mysummary] => Electronics
)
[3] => stdClass Object
(
[pid] => 4
[pname] => Android tv
[product_category] => 3,4
[product_price] => 180
[product_description] => Smart TV
[product_image] => Android-TV.png
[uid] => 2
[product_status] => Active
[mysummary] => Sports, Books and Gaming etc.
)
[4] => stdClass Object
(
[pid] => 5
[pname] => AC
[product_category] => 3,4
[product_price] => 185
[product_description] => AC
[product_image] => air_conditioner.png
[uid] => 2
[product_status] => Active
[mysummary] => Sports, Books and Gaming etc.
)
[5] => stdClass Object
(
[pid] => 6
[pname] => Harry Potter
[product_category] => 1
[product_price] => 25
[product_description] => Harry Potter and the Cursed Child
[product_image] => harry_potter.jpg
[uid] => 1
[product_status] => Active
[mysummary] => Electronics
)
[6] => stdClass Object
(
[pid] => 7
[pname] => Football
[product_category] => 1
[product_price] => 25
[product_description] => Nivia Football
[product_image] => football.jpeg
[uid] => 1
[product_status] => Active
[mysummary] => Electronics
)
[7] => stdClass Object
(
[pid] => 8
[pname] => Ps4
[product_category] => 1,3,4,5
[product_price] => 1600
[product_description] => Ps4
[product_image] => Ps-4.png
[uid] => 2
[product_status] => Active
[mysummary] => Electronics,Home & Furniture,Sports, Books and Gaming etc.,Beauty & Personal Care
)
)
解决方案
您可以使用索引循环并将第二个数组的属性添加到第一个:
for ($index = 0; $index < count($array1); $index++) {
$array1[$index]->mysummary = $array2[$index]->mysummary;
}
推荐阅读
- c# - WCF 客户端连接超时
- haskell - Haskell 中类型级别 Nats 的一致性
- java - 有没有办法在手机上完全创建一个 .jar?
- pentaho - 如何在 Pentaho CDE 中更改 CCC 折线图的文本大小
- delphi - 使用临时 TListItems 填充 TListView
- python - 使用 Pandas,我如何根据第一个空格进行拆分。
- git - 如何在 Cargo 中使用相对 git 子模块路径?
- c# - Selenium 不检索元素的当前文本值
- r - 带有可选年份的日期模式的正则表达式
- filter - 具有多种类型的 Lodash 流式过滤器或 pickBy