In PHP, how do I deduplicate objects in vanilla PHP?

In PHP, you can deduplicate an array of objects by using the `array_unique` function along with a custom comparison function. Here's an example of how you could achieve this.

PHP, deduplicate objects, array_unique, custom comparison, data structures

This example demonstrates how to remove duplicate objects from an array in PHP efficiently.

<?php class User { public $id; public $name; public function __construct($id, $name) { $this->id = $id; $this->name = $name; } } $users = [ new User(1, 'John Doe'), new User(2, 'Jane Doe'), new User(1, 'John Doe'), // Duplicate new User(3, 'Alice Smith') ]; // Deduplicating users based on id $uniqueUsers = []; foreach ($users as $user) { $uniqueUsers[$user->id] = $user; } $uniqueUsers = array_values($uniqueUsers); // Re-index array print_r($uniqueUsers); ?>

PHP deduplicate objects array_unique custom comparison data structures