Hallo,
Bei in_array() sind die Rückgabewerte eindeutig, es gibt nur TRUE oder FALSE. Bei array_search() bin ich mir da anhand der Beschreibung nicht so sicher.
wenn innerhalb eines Steuerflußes ausschließlich wichtig ist, das ein Wert vorhanden ist, würde ich in_array() bevorzugen. Muß man nicht nur feststellen, ob der Wert vorhanden ist, sondern ihn beispielsweise abändern, so ist array_search() eindeutig besser.
Gerade an dem Beispiel wird sehr deutlich, das PHP für so gut wie jedes Problem mit einer eigenen Funktion daher kommt. Programmierung an sich findet fast schon nicht mehr statt, was ich persönlich bedauerlich finde und irgendwann werde ich mich auch mal hinsetzen und alle quasi doppelt Funktionen nebst Konstanten rausschmeißen, um zu sehen, wie schnell und groß PHP dann noch ist.
Könnte ja auch sein, dass PHP die Durchforstung der reinen Wertesammlung tatsächlich etwas schneller schafft, als das Herausfinden des zugehörigen Index...
Was zu erforschen wäre …
Im einfachen vergleich (ohne weiteres Arbeiten mit der Variable) ist in_array() nicht nur übersichtlicher - da leichter zu erfassen - sondern auch geringfügig schneller
Gruß aus Berlin!
eddi
Wer Rechtschreibfehler findet, darf sie behalten.