| 

.NET C# Java Javascript Exception

2
Moin allerseits,

ich bin gerade auf ein komisches Problem gestoßen:
array_search() liefert mir, wenn nichts gefunden wird, NULL

Dabei sagt die Doku, dass mit PHP 4.2.0 FALSE ausgeliefert werden soll.

Eine Ausgabe von phpversion() sagt mir, dass mein System mit Version 5.3.8 läuft. Hat irgend jemand eine Idee, warum sich PHP so verhält? Ich verwende übrigens an anderen Stellen dieselbe Funktion und bekomme entsprechend FALSE zurück. Hängt das zum Teil davon ab, was man an die Funktion übergibt?

Danke schonmal.
News:
03.07.2012
johny7 471 1 8
johny7 471 1 8
Naja, wenn du etwas in der Art array(null => "wert") übergibst hängt das schon davon ab ;)

Wie prüfst du auf NULL bzw. FALSE? Immerhin ist bei php NULL == FALSE (und NULL !== FALSE)
phg 04.07.2012
Logischerweise prüfe ich Typ-strikt.
Das mit dem NULL als Index ist natürlich interessant. Allerdings habe ich keinen NULL-Index gehabt. Meine Abfrage sollte lauten: "Wenn der Wert soundso im Array vorhanden ist" bzw. eben nicht vorhanden ist. Dafür habe ich if(array_search($p1,$p2)!==false) angewendet.
johny7 04.07.2012
Was steht denn in $p1 und $p2 bzw. wenn das vertraulich ist, welche Datentypen speicherst du im Array?
Sind sich in_array() und array_search() einig darüber ob das Element vorhanden ist oder eben nicht?
phg 05.07.2012