FILTER_VALIDATE_BOOLEAN recognizes common boolean representations. Use FILTER_NULL_ON_FAILURE when you must distinguish invalid input from a valid false value.
$value = 'yes';
$result = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
var_dump($result);
$var="Off";
var_dump(filter_var($var, FILTER_VALIDATE_BOOLEAN));
Here is a list of outputs we will get for different data stored in variable.
$var="Yes"; // bool(true)
$var="1"; // bool(true)
$var="on"; // bool(true)
$var="True"; // bool(true)
$var="T"; // bool(false)
$var="0"; // bool(false)
$var="False"; // bool(false)
$var=""; // bool(false)
$var="abcd"; // bool(false)
$var="Off"; // bool(false)
$var="no"; // bool(false)
FILTER_VALIDATE_BOOLEAN filter can check the variable Boolean or not. We will use var_dump function to know more about the variable returned.
$var="Off";
var_dump(filter_var($var, FILTER_VALIDATE_BOOLEAN,FILTER_NULL_ON_FAILURE));
The output for different value of the variable is listed here for easy understanding.
$var="abcd"; // NULL
$var=""; // NULL
$var="T"; // NULL
$var="1"; // bool(true)
$var="on"; // bool(true)
$var="True"; // bool(true)
$var="Yes"; // bool(true)
$var="False"; // bool(false)
$var="0"; // bool(false)
$var="no"; // bool(false)
$var="Off"; // bool(false)
As you can see we are getting NULL value for all non boolean values.
$value = "yes";
$result = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
echo $result === null ? "Invalid" : ($result ? "True" : "False");
// Output: True
function custom_boolean($value) {
return in_array(strtolower($value), ['true', '1', 'on', 'yes'], true);
}
echo custom_boolean("Yes") ? "True" : "False"; // Output: True
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.