Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to convert string to boolean in PHP?
To convert string to boolean in PHP, you can use the filter_var() function with the FILTER_VALIDATE_BOOLEAN filter. This function recognizes specific string values and converts them to their boolean equivalents.
Basic String to Boolean Conversion
The filter_var() function converts string values to boolean based on predefined rules −
<?php
// String values that evaluate to true
var_dump(filter_var('1', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('true', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('on', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('yes', FILTER_VALIDATE_BOOLEAN));
echo "<br>";
// String values that evaluate to false
var_dump(filter_var('0', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('false', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('off', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('no', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('', FILTER_VALIDATE_BOOLEAN)); // empty string
?>
bool(true) bool(true) bool(true) bool(true) bool(false) bool(false) bool(false) bool(false) bool(false)
Using FILTER_NULL_ON_FAILURE Flag
You can use the FILTER_NULL_ON_FAILURE flag to return null for invalid boolean strings instead of false −
<?php
// Valid boolean strings
var_dump(filter_var('1', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
var_dump(filter_var('false', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
echo "<br>";
// Invalid boolean strings return null
var_dump(filter_var('invalid', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
var_dump(filter_var('maybe', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
?>
bool(true) bool(false) NULL NULL
Alternative Methods
You can also use type casting or comparison for simple conversions −
<?php
$string = "1";
// Using type casting
$bool1 = (bool) $string;
var_dump($bool1);
// Using comparison
$bool2 = ($string === "true" || $string === "1");
var_dump($bool2);
// Custom function
function stringToBool($str) {
return in_array(strtolower($str), ['true', '1', 'yes', 'on']);
}
var_dump(stringToBool("TRUE"));
var_dump(stringToBool("false"));
?>
bool(true) bool(true) bool(true) bool(false)
Conclusion
The filter_var() function with FILTER_VALIDATE_BOOLEAN is the most reliable method for converting strings to boolean in PHP. It recognizes standard boolean string representations and provides consistent results across different use cases.
