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

