Scheinbar lückenhafte Ergebnisse mit array_unique

Wer wollte nicht schnell die ein oder andere Doublette per array_unique aus seinem Array entfernen und wunderte sich dann über fehlerhafte Ausgaben im Browser.

Beim entfernen von doppelten Einträgen aus dem Array löscht array_unique einfach den Index von selbigen und hinterlässt so eine sichtbare Lücke z.B. in der Ausgabe von Ergebnislisten.

Abhilfe schafft dann die Neuindexierung des Arrays z.B. über das foreach-Konstrukt wie im Beispiel:

  1. <?php
  2. // Unser Array mit Doubletten an Index 2 und 4
  3. $doublettenArray = array('1', '3', '1', '2', '1');
  4.  
  5. // doubletten aus dem Array entfernen
  6. $altesArray = array_unique($doublettenArray);
  7.  
  8. // altes Array mit neuem Index versehen
  9. foreach($altesArray as $neuerIndex) {
  10.     $neuesArray[] = $neuerIndex;
  11. }
  12. ?>

Tags: