Sönke Tesch: Arrays durchsuchen

Beitrag lesen

$array[0][1][0]="Sommer";
$array[0][1][1]="Winter";
$array[0][1][2]="Herbst";
$array[0][1][3]="und";
$array[0][1][4]="Frühling";

$array[0][2] = "Winter" usw. Bei einer 3. Klammer passiert nichts.

Prüfe doch mal mit var_dump(), wo dein zu durchsuchendes Feld eigentlich ist.

Das ist das Ergebnis von var_dump:

array(81) { [0]=> array(3) { [0]=> string(1) "3" [1]=> string(162) "" [2]=> string(9) "mountains" }

Ahso, du hast also also ein Feld, das die Zeilen einer Datenbank enthält. Muß einem ja gesagt werden :)

Ein Feld besteht immer aus einem Index (key) und seinem Wert (value), bzw. mehreren davon. array_search() durchsucht nur Felder ansich, d.h. kann nur die einzelnen Werte vergleichen. Deine "Werte" sind aber Felder (eben je eine Datenbankzeile), und da du keine Möglichkeit hast, ein komplettes Feld zu vergleichen, geht's auch nicht mit array_search().

Du kannst entweder eine ordinäre Schleife zum Suchen nehmen oder du benutzt array_walk().

Gruß,
  soenk.e