PHP WTF #8

$array = array(true, null);

var_dump(in_array('', $array)); // true
var_dump(in_array(0, $array)); // true
var_dump(in_array(763, $array)); // true
var_dump(in_array('cheese', $array)); // true
var_dump(in_array(new stdClass(), $array)); // true
var_dump(in_array([], $array)); // true

Tja, PHP und seine automatische Typumwandlung. Wahnsinn, was so alles in dem Array drin ist! in_array bitte nur mit dem dritten Parameter strict auf true benutzen. Sollte ohnehin default sein.

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Schon besser:

$array = array(true, null);

var_dump(in_array('', $array, true)); // false
var_dump(in_array(0, $array, true)); // false
var_dump(in_array(763, $array, true)); // false
var_dump(in_array('cheese', $array, true)); // false
var_dump(in_array(new stdClass(), $array, true)); // false
var_dump(in_array([], $array, true)); // false

Weitere Posts:

Dieser Beitrag wurde unter php, PHP-WTF, webdev veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Eine Antwort auf PHP WTF #8

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert