Если объекты идентичны, вы можете просто вызвать array_unique ($ array);
http://us2.php.net/manual/en/function.array-unique.php
Если объекты разные, но имеют одинаковые идентификаторы, вы можете реализовать метод __toString () (обратите внимание на два подчеркивания впереди) и вернуть его (строка) $ this-> id; Это заставит функцию array_unique (которая преобразуется в строку) вызвать магический метод, который вы реализовали, и получить только идентификаторы объекта.
Возможно, вам все равно придется реализовать магический метод, чтобы удостовериться, что array_unique не потерпит неудачу при попытке привести ваши объекты к строкам, я не помню.