Home  >  Article  >  Backend Development  >  var_dump((bool) ?)的有关问题

var_dump((bool) ?)的有关问题

WBOY
WBOYOriginal
2016-06-13 13:34:20838browse

var_dump((bool) ?)的问题
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)

过去是说非0即为TRUE,但是var_dump((bool) array()); 也是false.请问PHP中究竟如何判断ture or false的?

------解决方案--------------------
非0非空就是TRUE
------解决方案--------------------
PHP中,当其他类型变量转换为 boolean 时,以下值被认为是 FALSE:

布尔值 FALSE 自身;
整型值 0 (零);
浮点型值 0.0 (零);
空字符串(""), 以及 字符串("0");
不包括任何元素的数组;
不包括任何成员变量的对象(仅PHP 4.0 适用);
特殊类型 NULL (包括尚未设定的变量);
从没有任何标记(tags)的XML文档生成的SimpleXML 对象;

其它所有值都被认为是 TRUE(包括任何资源)。

注意: -1 和其它非零值(不论正负)一样,被认为是 TRUE!

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)
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn