var_dump((bool) ?)的问题

超级大笨狼 2012-04-26 02:14:41
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的?
...全文
203 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-04-26
  • 打赏
  • 举报
回复
空就是假,以及Null,"",''等等,只要感觉是空的就是假的。
一起混吧 2012-04-26
  • 打赏
  • 举报
回复
乌镇程序员 2012-04-26
  • 打赏
  • 举报
回复
[QUOTE]
当转换为 boolean 时,以下值被认为是 FALSE:

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

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

手册中讲得很明白了。。。http://cn.php.net/manual/zh/language.types.boolean.php
梦游 2012-04-26
  • 打赏
  • 举报
回复
PHP中,当其他类型变量转换为 boolean 时,以下值被认为是 FALSE:

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

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

注意: -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)
?>
zhang6236872 2012-04-26
  • 打赏
  • 举报
回复
非0非空就是TRUE

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧