Hallo
laut Docu gibt strpos($haystack, $needle) false zurück, wenn die $needle nicht im $haystack vorgekommen ist (ansonsten die Stelle an der die $needle vorgekommen ist). Jedoch gibt diese Funktion auch false zurück wenn $needle direkt am Anfang auftritt!!!!!!!!!
Warum gibt die Funktion nicht -1 zurück wenn es nicht vorkommt, dann kann unterschieden werden zwischen nicht vorkommen im String und am Anfang des Strings vorkommen.
-1 habe ich mir auch schon oft gewünscht. PHP ist manchmal sehr eigen. Ich denke, man hat da in den Anfängen der Sprache ein paar Dinge schlecht gemacht, will sich aber aus Gründen der Kompatibilität nicht davon trennen. Ungeschickt ist z.B. die bisweilen uneinheitliche Reihenfolge der Parameter. strpos() erwartet zuerst das, worin gesucht wird und dann das, was gesucht wird. array_search() aber erwartet zuerst das zu suchende und dann das zu durchsuchende. Also genau andersherum. Ich muss selbst nach Jahren noch jedesmal nachschlagen, welche Reihenfolge wann zum Einsatz kommt. Oder dass in Funktionsnamen die Wörter mal zusammengeschrieben werden und mal durch Unterstriche getrennt. Es wirkt ein bisschen so, als hätten die beteiligten Entwickler ohne Koordination ihre eigenen Suppchen gekocht. In Java würde man's korrigieren und das alte als deprecated noch ein paar Jahre mitlaufen lassen, aber bei PHP geht nichts verloren - ausser der Sinn (-; Auch so Sonderheiten wie dass isset() für eine Variable, die den Wert null hat, false liefert. Oder dass ein Vergleich wie '1' == '001' true ergibt, weil die Werte automatisch in Zahlen umgewandelt werden. Da sind schon einige Besonderheiten, die rauszufinden man schnell mal ein paar Stunden in den Sand setzen kann. Bye -- 1 Bodo Kaelberer 123 http://www.webkind.de/ http://www.kaelberer-aio.de/ 3 Seelig sind die, die da arm an Geist sind, denn sie werden 4 sich Christlich Soziale Union nennen.