Bestimmten Eintrag in Array finden

tombe

Erfahrenes Mitglied
Tja ich bin es schon wieder :-(

Also ich lass mir eine Liste mit bestimmten Artikeln anzeigen. In dieser Liste kann ich bestimmte Einträge zum Bearbeiten markieren (indem ich sie in ein Array speichere).

Wenn ich nun einen bestimmten Eintrag aus dem Array wieder löschen will, wie kann ich dann am schnellsten drauf zugreifen wenn ich den Index nicht kenne?

Hab jetzt mal eine Schleife dafür genommen :

Code:
do {
  $a++;
  if ($liste[$a] == $wert) {
    unset($liste[$a]);
    $a = count($liste);
  }
} while ($a < count($liste) OR $liste[$a] == $wert);

$wert entspricht dabei dem Wert der gelöscht werden soll. Wenn jetzt aber sehr viele Einträge in dem Array vorhanden sind, ist das ja keine so tolle/schnelle Lösung.

Dann dachte ich, ich käme mit der Funktion in_array weiter, aber die sagt mir ja nur ob der Eintrag im Array vorhanden ist oder nicht. Leider setzt sie den Zeiger nicht auf den entspr. Index.

Gibt es da nicht noch was anderes

In meinen Büchern heißt es immer : "...es gibt so viele Arrayfunktionen das hier nicht alle aufgeführt werden können..." Gut zu wissen, aber das hilft mir nicht.

Danke Euch

Thomas
 
Hallo,

array_search() liefert die den Index des gesuchten Elementes in einem Array oder false. Da brauchst du dann gar keine Schleife mehr ;).

Viele Grüße
Robert
 
Hallo ihr 2,

genau so eine Funktion hab ich gesucht. Das klappt damit wunderbar.

Ich danke Euch

Thomas
 
Zurück