3v4l.org

run code in 300+ PHP versions simultaneously
<?php class my_obj { public $term_id; public $name; public $slug; public function __construct($i, $n, $s) { $this->term_id = $i; $this->name = $n; $this->slug = $s; } } $objA = new my_obj(23, "Assasination", "assasination"); $objB = new my_obj(14, "Campaign Finance", "campaign-finance"); $objC = new my_obj(15, "Campaign Finance", "campaign-finance-good-government-political-reform"); $array = array($objA, $objB, $objC); echo "Original array:\n"; print_r($array); /** Answer Code begins here */ $filtered = array_intersect_key($array, array_unique(array_column($array, 'name'))); /** Answer Code ends here */ echo "After removing duplicates\n"; print_r($filtered);
Output for 7.3.13, 7.4.26 - 7.4.33, 8.0.8 - 8.0.13, 8.1.0 - 8.1.33, 8.2.10 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.25, 8.4.1 - 8.4.12
Original array: Array ( [0] => my_obj Object ( [term_id] => 23 [name] => Assasination [slug] => assasination ) [1] => my_obj Object ( [term_id] => 14 [name] => Campaign Finance [slug] => campaign-finance ) [2] => my_obj Object ( [term_id] => 15 [name] => Campaign Finance [slug] => campaign-finance-good-government-political-reform ) ) After removing duplicates Array ( [0] => my_obj Object ( [term_id] => 23 [name] => Assasination [slug] => assasination ) [1] => my_obj Object ( [term_id] => 14 [name] => Campaign Finance [slug] => campaign-finance ) )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Original array: Array ( [0] => my_obj Object ( [term_id] => 23 [name] => Assasination [slug] => assasination ) [1] => my_obj Object ( [term_id] => 14 [name] => Campaign Finance [slug] => campaign-finance ) [2] => my_obj Object ( [term_id] => 15 [name] => Campaign Finance [slug] => campaign-finance-good-government-political-reform ) ) After removing duplicates Array ( [0] => my_obj Object ( [term_id] => 23 [name] => Assasination [slug] => assasination ) [1] => my_obj Object ( [term_id] => 14 [name] => Campaign Finance [slug] => campaign-finance ) )
Output for 5.5.38, 5.6.2 - 5.6.15
Original array: Array ( [0] => my_obj Object ( [term_id] => 23 [name] => Assasination [slug] => assasination ) [1] => my_obj Object ( [term_id] => 14 [name] => Campaign Finance [slug] => campaign-finance ) [2] => my_obj Object ( [term_id] => 15 [name] => Campaign Finance [slug] => campaign-finance-good-government-political-reform ) ) After removing duplicates Array ( )
Output for 5.3.21
Original array: Array ( [0] => my_obj Object ( [term_id] => 23 [name] => Assasination [slug] => assasination ) [1] => my_obj Object ( [term_id] => 14 [name] => Campaign Finance [slug] => campaign-finance ) [2] => my_obj Object ( [term_id] => 15 [name] => Campaign Finance [slug] => campaign-finance-good-government-political-reform ) ) Fatal error: Call to undefined function array_column() in /in/IboLu on line 26
Process exited with code 255.

preferences:
82.42 ms | 413 KiB | 5 Q