-
Notifications
You must be signed in to change notification settings - Fork 68
PHP_notes
Steve Gallo edited this page Apr 7, 2017
·
1 revision
PHP 5.3 filter_var() does not properly filter the value bool(false)
. This behavior is fixed 5.4.8 (see https://bugs.php.net/bug.php?id=49510)
In 5.3:
$a = array(0, 1, true, false, "true", "false", "totalcrap");
foreach ($a as $v) { print var_dump($v); }
int(0)
int(1)
bool(true)
bool(false)
string(4) "true"
string(5) "false"
string(9) "totalcrap"
php > foreach ($a as $v) { print var_dump(filter_var($v, FILTER_VALIDATE_BOOLEAN,
FILTER_NULL_ON_FAILURE)); }
bool(false)
bool(true)
bool(true)
NULL
bool(true)
bool(false)
NULL
In 5.5.9:
$a = array(0, 1, true, false, "true", "false", "totalcrap");
foreach ($a as $v) { print var_dump(filter_var($v, FILTER_VALIDATE_BOOLEAN,
FILTER_NULL_ON_FAILURE)); }
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
NULL
return ( false === $value ? false : filter_var($value, $filter, $options) );