3v4l.org

run code in 300+ PHP versions simultaneously
<?php $ar1 = array( (object) array('id' => '1505', 'category' => 'blue'), (object) array('id' => '1805', 'category' => 'red') ); $ar2 = array( '1777' => (object) array('id' => '1505', 'category' => 'yellow'), '1877' => (object) array('id' => '1507', 'category' => 'blue'), ); $ids = array_column($ar1, 'id'); $ar3 = array_merge_recursive($ar1, array_filter($ar2, function($x) use ($ids) { return !in_array($x->id, $ids); })); print_r($ar3);
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Array ( [0] => stdClass Object ( [id] => 1505 [category] => blue ) [1] => stdClass Object ( [id] => 1805 [category] => red ) [2] => stdClass Object ( [id] => 1507 [category] => blue ) )

preferences:
159.77 ms | 408 KiB | 5 Q