- de teller $i is niet nodig, je kan gewoon $array[] = $obj->name; doen - $i wordt niet gebruikt
- ik zou $array van tevoren (voor het begin van de while-lus) aanmaken ($array = array();)
- die elseif() is ook niet nodig - de ontkenning van in_array() is !in_array(), dus hier hoef je niet nog eens expliciet op te controleren...
een } else { volstaat
ok veranderd. Maar wat is btw het mooie van php? Dat het zelf de variabelen defined:p. En eigenlijk maken die veranderingen niet uit voor de werking of snelheid van het script.
Hetzelfde bereik je met behulp van SQL als je een tabel hebt met een unieke key.
Bij tabel 'te_bewerken_tabel' met unieke key 'id' en je wilt alle records waarvan de naam meer dan 1 keer vookomt, verwijderen:
CREATE TABLE temp LIKE te_bewerken_tabel;
INSERT INTO temp SELECT te_bewerken_tabel.*
FROM te_bewerken_tabel;
DELETE FROM te_bewerken_tabel
WHERE id NOT IN (SELECT MIN(id)
FROM temp GROUP BY naam);
DROP TABLE temp;