>백엔드 개발 >PHP 튜토리얼 > var_dump((bool) ?)的有关问题

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

WBOY
WBOY원래의
2016-06-13 13:34:20858검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.