This blog post has been published on 2014-05-24 and may be out of date.
if (-1 == true) { echo "aha ..."; } // output: aha ... $tmpArray = array(0, 'foo2'); if (in_array("foo", $tmpArray)) { echo "aha v2 ..."; } // output: aha v2 ... $tmpArray = array(0, 'foo2'); if (in_array("foo", $tmpArray, true)) { echo "aha v3 ..."; } // output:
Das Beispiel mit in Array hab ich auf Twitter gesehen und hat mich im ersten Momentan doch ein wenig verwirrt.
Wenn man den dritten Parameter ($strict = null) von der Funktion “in_array” nicht auf “true” setzt, werden die Werte mit dem “==” Operator verglichen und daher ist ein nicht definierter String == null == 0 -> daher wieder “true” ;)
Also, sollte man in den meisten Fällen $strict auf “true” setzten und somit einen Typenvergleich mit dem “===” Operator durchführen lassen.
<- Übersicht ->
== | true | false | 1 | 0 | -1 | “1” | “0” | “-1” | null | array() | array(1) | array(“php”) | “php” | “” | NAN |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
true | true | false | true | false | true | true | false | true | false | false | true | true | true | false | true |
false | false | true | false | true | false | false | true | false | true | true | false | false | false | true | false |
1 | true | false | true | false | false | true | false | false | false | false | false | false | false | false | false |
0 | false | true | false | true | false | false | true | false | true | false | false | false | true | true | false |
-1 | true | false | false | false | true | false | false | true | false | false | false | false | false | false | false |
“1” | true | false | true | false | false | true | false | false | false | false | false | false | false | false | false |
“0” | false | true | false | true | false | false | true | false | false | false | false | false | false | false | false |
“-1” | true | false | false | false | true | false | false | true | false | false | false | false | false | false | false |
null | false | true | false | true | false | false | false | false | true | true | false | false | false | true | false |
array() | false | true | false | false | false | false | false | false | true | true | false | false | false | false | false |
array(1) | true | false | false | false | false | false | false | false | false | false | true | false | false | false | false |
array(“php”) | true | false | false | false | false | false | false | false | false | false | false | true | false | false | false |
“php” | true | false | false | true | false | false | false | false | false | false | false | false | true | false | false |
“” | false | true | false | true | false | false | false | false | true | false | false | false | false | true | false |
NAN | true | false | false | false | false | false | false | false | false | false | false | false | false | false | false |
source: http://habnab.it/php-table.html