在平时写代码的时候经常会进行逻辑判断,当条件满足才去执行,最常用的就是用"=="去对比两边的值了,而"=="首先会将两边的值转换为相同的类型然后再进行对比,有的时候我们会将某个变量(或者其它)与TRUE/FALSE进行对比,那么那些值为TRUE哪些值为FALSE呢?
之前有段时间也是对这个概念掌握地模糊,只是靠着感觉与调试去写代码,但这并不是长久之计,虽然最后也能完成任务但是较低了效率,增加了不必要的麻烦,在php手册中查了一下,将其记下,防止以后忘记。
要明确地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 boolean 参数时,该值会被自动转换。
当转换为 boolean 时,以下值被认为是 FALSE:
- 布尔值
FALSE本身 - 整型值
0(零) - 浮点型值
0.0(零) - 空字符串,以及字符串
"0" - 不包括任何元素的数组
- 特殊类型
NULL(包括尚未赋值的变量) - 从空标记生成的
SimpleXML对象
| 所有其它值都被认为是 TRUE(包括任何资源 和 NAN)。 |
| Warning -1 和其它非零值(不论正负)一样,被认为是 TRUE! |
<?php
var_dump((bool) "");
// bool(false)
var_dump((bool) 1);
// bool(true)
var_dump((bool) -2);
// bool(true)
var_dump((bool) "foo");
// bool(true)
var_dump((bool) 2.3e5);
// bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());
// bool(false)
var_dump((bool) "false");
// bool(true)
?>
最后
以上就是大气自行车最近收集整理的关于转换为布尔值的全部内容,更多相关转换为布尔值内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复