php最佳实践----检测一个值是否为null或false
来源:互联网 发布:linux网络监控工具 编辑:程序博客网 时间:2024/05/29 02:47
使用===操作符来检测null和布尔false值。
PHP宽松的类型系统提供了许多不同的方法来检测一个变量的值。然而这也造成了很多问题。 使用==
来检测一个值是否为null或false,如果该值实际上是一个空字符串或0,也会误报 为false。isset是检测一个变量是否有值, 而不是检测该值是否为null或false,因此在这里使用是不恰当的。
is_null()函数能准确地检测一个值 是否为null,is_bool可以检测一个值 是否是布尔值(比如false),但存在一个更好的选择:===
操作符。===
检测两个值是否同一, 这不同于PHP宽松类型世界里的相等。它也比is_null()和is_bool()要快一些,并且有些人 认为这比使用函数来做比较更干净些。
示例
<?php$x = 0;$y = null;// Is $x null?if($x == null) print('Oops! $x is 0, not null!');// Is $y null?if(is_null($y)) print('Great, but could be faster.');if($y === null) print('Perfect!');// Does the string abc contain the character a?if(strpos('abc', 'a')) // GOTCHA! strpos returns 0, indicating it wishes to return the position of the first character. // But PHP interpretes 0 as false, so we never reach this print statement! print('Found it!');//Solution: use !== (the opposite of ===) to see if strpos() returns 0, or boolean false. if(strpos('abc', 'a') !== false) print('Found it for real this time!');?>
陷阱
- 测试一个返回0或布尔false的函数的返回值时,如strpos(),始终使用
===
和!==
,否则 你就会碰到问题。
0 0
- php最佳实践----检测一个值是否为null或false
- PHP中如何检测一个值为null的变量是否存在
- PHP is_numeric 检测变量是否为数字或数字字符串
- PHP is_numeric 检测变量是否为数字或数字字符串
- PHP is_numeric 检测变量是否为数字或数字字符串
- c#判断是否为NULL或空
- mybatis判断是否为空或null
- mybatis判断是否为空或null
- mybatis判断是否为空或null
- 检查字符串是否为电话号码或邮箱地址方法,并返回true or false的判断值
- 检查字符串是否为电话号码或邮箱地址方法,并返回true or false的判断值
- 检测或设置是否为默认首页
- Javascript最佳实践——检测变量是否存在
- 检测一个目录或文件是否存在
- php检测访问者是否为手机
- 如何检测一个String是否为空
- SQL Server:如何判断变量或字段是否为NULL
- MySql判断是否为null或空字符串
- GCD
- Android完全关闭应用程序
- 在Yii中使用fopen找不到路径的解决
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- std::bad_alloc 内存分配出错
- php最佳实践----检测一个值是否为null或false
- mysql数据库远程访问设置方法
- Spring3mvc和hibernate整合
- 配置 FreeRTOS
- MySql数据文件本地路径
- JAVA NIO
- 开源企业IM-免费企业即时通讯-ENTBOOST V2014.180 Linux版本正式发布
- 视频测试序列下载:YUV文件
- Xcode工程使用CocoaPods管理第三方库新建工程时出现错误