
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