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.

Updated on: 2026-03-15T08:18:35+05:30

842 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements