我有以下两个对象数组:
第一个数组: $ 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
)
)
答案 0 :(得分:2)
您可以循环使用索引,并将第二个数组的属性添加到第一个:
for ($index = 0; $index < count($array1); $index++) {
$array1[$index]->mysummary = $array2[$index]->mysummary;
}
答案 1 :(得分:2)
您可以结合使用array_map和array_merge来达到相同的目的,而不必依赖于数组的静态键。
$result = array_map(function($a,$b){
return array_merge(isset($a) ? $a : array(), isset($b) ? $b : array());
},$a1,$a2);
Demo。
答案 2 :(得分:2)
foreach ($array1 as $key => $value) {
$array1[$key]->mysummary = $array2[$key]->mysummary;
}
echo '<pre>';print_r($array1);