10. New Global Constants
========================================
+- Filter:
+ . FILTER_VALIDATE_BOOL has been added as an alias for FILTER_VALIDATE_BOOLEAN.
+ The new name is preferred, as it uses the canonical type name.
+
========================================
11. Changes to INI File Handling
========================================
/* {{{ filter_list */
static const filter_list_entry filter_list[] = {
{ "int", FILTER_VALIDATE_INT, php_filter_int },
- { "boolean", FILTER_VALIDATE_BOOLEAN, php_filter_boolean },
+ { "boolean", FILTER_VALIDATE_BOOL, php_filter_boolean },
{ "float", FILTER_VALIDATE_FLOAT, php_filter_float },
{ "validate_regexp", FILTER_VALIDATE_REGEXP, php_filter_validate_regexp },
REGISTER_LONG_CONSTANT("FILTER_NULL_ON_FAILURE", FILTER_NULL_ON_FAILURE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_INT", FILTER_VALIDATE_INT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOLEAN, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOLEAN", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("FILTER_VALIDATE_BOOL", FILTER_VALIDATE_BOOL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_FLOAT", FILTER_VALIDATE_FLOAT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("FILTER_VALIDATE_REGEXP", FILTER_VALIDATE_REGEXP, CONST_CS | CONST_PERSISTENT);
#define FILTER_FLAG_EMAIL_UNICODE 0x100000
#define FILTER_VALIDATE_INT 0x0101
-#define FILTER_VALIDATE_BOOLEAN 0x0102
+#define FILTER_VALIDATE_BOOL 0x0102
#define FILTER_VALIDATE_FLOAT 0x0103
#define FILTER_VALIDATE_REGEXP 0x0110
--- /dev/null
+--TEST--
+filter_var() and FILTER_VALIDATE_BOOL
+--SKIPIF--
+<?php if (!extension_loaded("filter")) die("skip"); ?>
+--FILE--
+<?php
+
+class test {
+
+ function __toString() {
+ return "blah";
+ }
+}
+
+$t = new test;
+
+var_dump(filter_var("no", FILTER_VALIDATE_BOOL));
+var_dump(filter_var(NULL, FILTER_VALIDATE_BOOL));
+var_dump(filter_var($t, FILTER_VALIDATE_BOOL));
+var_dump(filter_var(array(1,2,3,0,array("", "123")), FILTER_VALIDATE_BOOL, FILTER_REQUIRE_ARRAY));
+var_dump(filter_var("yes", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("true", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("false", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("off", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("on", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("0", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("1", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("NONE", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("", FILTER_VALIDATE_BOOL));
+var_dump(filter_var(-1, FILTER_VALIDATE_BOOL));
+var_dump(filter_var("000000", FILTER_VALIDATE_BOOL));
+var_dump(filter_var("111111", FILTER_VALIDATE_BOOL));
+
+
+echo "Done\n";
+?>
+--EXPECT--
+bool(false)
+bool(false)
+bool(false)
+array(5) {
+ [0]=>
+ bool(true)
+ [1]=>
+ bool(false)
+ [2]=>
+ bool(false)
+ [3]=>
+ bool(false)
+ [4]=>
+ array(2) {
+ [0]=>
+ bool(false)
+ [1]=>
+ bool(false)
+ }
+}
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+Done