php怎么把字符串'false'转成boolean的false

PHP 在转换为布尔值时,以下值被认为是 false:

布尔值 false 本身
整型值 0(零)
浮点型值 0.0(零)
空字符串 "",以及字符串 "0"
不包括任何元素的数组
原子类型 NULL(包括尚未赋值的变量)

所有其他值都被认为是 true,包括非空字符串,即使它们包含的是 "false" 或 "0" 这样的值。

这是因为在 PHP 中,字符串的布尔值是由其长度决定的,而不是由其内容决定的

<?php
if ($string === "false") {
    // 处理字符串等于 "false" 的情况
}
$boolStr = 'false';
var_dump(eval("return $boolStr;"));  //bool(false)
$boolStr = 'False';
var_dump(eval("return $boolStr;"));  //bool(false)
$boolStr = 'FALSE';
var_dump(eval("return $boolStr;"));  //bool(false)
$boolStr = 'true';
var_dump(eval("return $boolStr;"));  //bool(true)
$boolStr = 'True';
var_dump(eval("return $boolStr;"));  //bool(true)
$boolStr = 'TRUE';
var_dump(eval("return $boolStr;"));  //bool(true)
var_dump((bool)"false"); // 输出 bool(true)
var_dump((bool)"0");     // 输出 bool(false)
var_dump((bool)"");      // 输出 bool(false)
var_dump((bool)0.0);      // 输出 bool(false)
var_dump((bool)"0.0");      // 输出 bool(true)
var_dump((bool)[]);      // 输出 bool(false)
var_dump((bool)null);      // 输出 bool(false)

posted @ 2024-10-11 16:23  朝阳1  阅读(125)  评论(0)    收藏  举报