DevsDawn
DevsDawn

PHP中把字符串true/false转成boolean布尔型

在PHP中,无法使用(bool)或者settype()函数把字符串的”true”和”false”转成布尔型。如果使用上述两种办法,会始终返回true。

<?php
$string = 'true';
var_dump((bool) $string);

$string = 'false';
var_dump((bool) $string);

$string = 'true';
var_dump(settype($string, 'boolean'));

$string = 'false';
var_dump(settype($string, 'boolean'));
?>

返回

bool(true)
bool(true)
bool(true)
bool(true)

参考PHP官网文档,可自己定义一个函数解决:

//参考:https://www.php.net/manual/zh/function.boolval.php#116547
function is_true($val, $return_null=false){
    $boolval = ( is_string($val) ? filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) : (bool) $val );
    return ( $boolval===null && !$return_null ? false : $boolval );
}
若无特别说明,本文采用 CC BY-SA 4.0 协议进行许可。如需转载,请附上本文链接和本声明。
本文链接:https://devsdawn.com/2019/09/converting-string-true-and-false-to-boolean-in-php/
DigitalOcean云服务,美国上市公司,注册即送200USD体验金
Vultr云服务,全球25+地域,注册即送100USD体验金

发表回复

textsms
account_circle
email

DevsDawn

PHP中把字符串true/false转成boolean布尔型
在PHP中,无法使用(bool)或者settype()函数把字符串的"true"和"false"转成布尔型。如果使用上述两种办法,会始终返回true。 <?php $string = 'true'; var_dump((bool) $string); $st…
扫描二维码继续阅读
2019-09-03