PHP 中以下值得计算结果为 false:

关键字 boolean false
整型 integer 0
浮点型 double 0.0
字符串 string "" 
字符串 string  "0" 
数组 array  array() 
对象  object  空对象 php<5 
null  null  NULL 

例如 字符串"0":

<?php

$number = "0";
if($number) {
echo "string \"0\" is not false \r\n";
} else {
echo "string \"0\" is false \r\n"; // 输出:string "0" is false
} if(empty($number)) {
echo "string \"0\" is false \r\n"; // 输出:string "0" is false
} else {
echo "string \"0\" is not false \r\n";
}

空数组:

<?php

$arr= array();

if($arr) {
echo 'array $arr is not false'."\r\n";
} else {
echo 'array $arr is false'."\r\n"; // 输出:array $arr is false
} if(empty($arr)) {
echo 'array $arr is false'."\r\n"; // 输出:array $arr is false
} else {
echo 'array $arr is not false'."\r\n";
}

  

空对象在 PHP 5 以上版本中计算结果不为 false:

$obj=(object)array();

if($obj) {
echo '$obj is not false'."\r\n"; // 输出:$obj is not false
} else {
echo '$obj is false'."\r\n";
} if(empty($obj)) {
echo '$obj is false'."\r\n";
} else {
echo '$obj is not false'."\r\n"; // 输出:$obj is not false
}

 

注意:字符串"0.0"、字符串"00"、包括一个空格字符的字符串" "、字符串"false" 、整型 -1 都不为 false:

<?php

$number = "0.0";
if($number) {
echo "string \"0.0\" is not false \r\n"; // 输出:string "0.0" is not false
} else {
echo "string \"0.0\" is false \r\n";
} if(empty($number)) {
echo "string \"0.0\" is false \r\n";
} else {
echo "string \"0.0\" is not false \r\n"; // 输出:string "0.0" is not false
}

  

正确地检查一个变量是否为空应该使用:

<?php

if (empty($var)) { ... }

  

PHP 检测变量是否为空的更多相关文章

  1. PHP判断变量是否为空的几种方法小结

    1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_e ...

  2. PHP的isset()函数 一般用来检测变量是否设置

    PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...

  3. php中判断变量是否为空

    从数据库中取出值后判断是否为空,这个看起来很简单,只要和null比较一下就可以了,其实不然, if($obj==null){ } 这样写会报错的:Notice: Trying to get prope ...

  4. empty是判断一个变量是否为“空”,而isset 则是判断一个变量是否已经设置

    1.echo和print的区别php中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作 ...

  5. PHP:isset()-检测变量是否被设置

    isset()-检测变量是否被设置 bool isset(mixed $var [, mixed $...]),检查变量是否被设置,并且不是NULL.var,要检测的变量,...其他变量,允许有多个变 ...

  6. Javascript学习笔记:3种检测变量类型的方法

    ①typeof检测变量类型 console.log(typeof 1);//number console.log(typeof "a");//string console.log( ...

  7. PHP isset() 检测变量是否设置

    isset() 用于检测变量是否设置. isset() PHP isset() 用于检测一个或多个变量是否设置,如果被检测的变量存在则返回 TRUE,否则返回 FALSE. 语法: 1 bool is ...

  8. shell判断一个变量是否为空

    判断一个变量是否为空 . 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. #!/bin/sh para1= if [ ! -n "$para ...

  9. 【转】shell中如何判断一个变量是否为空

    判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1= if [ ! -n $para1 ]; then echo &q ...

随机推荐

  1. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  2. Entity Framework 与ORACLE ODP.Net 在vs2010下的稀奇古怪的问题

    不说废话 1.在vs2010数据源中看不到oracle odp.net 数据源,vs2008下可以看到,通过oraprocfg配置多次,重启多次,还是看不到,machine.config里面配置也正常 ...

  3. javascript的window.ActiveXObject对象,区别浏览器的方法

    (window.ActiveXObject)的作用,用来判断浏览器是否支持ActiveX控件,如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("M ...

  4. 模拟搭建Web项目的真实运行环境(三)

    一.解决Redis出现的RDB权限问题 当你在安装redis的时候,如果是使用超级用户root安装, 开启redis服务的时候没有用超级用户去开启, 在用客户端登录redis,然后使用shutdown ...

  5. Android 某些配置记录

    1, system image 大小配置: devices/intel/baytrail/ffrd8/BoardConfig.mk :  BOARD_SYSTEMIMAGE_PARTITION_SIZ ...

  6. Reversing Bits in C

    英文原文: http://corner.squareup.com/2013/07/reversing-bits-on-arm.html 本文讲解翻转bit位的一些方法,例如如何将1001 1101变为 ...

  7. 解决VS+opencv中Debug版本与Release版本lib切换的问题

    Author: Maddock Date: 2015-03-26 09:34:48 问题来源:http://bbs.csdn.net/topics/390733725 PS: 按照上述方法做的时候,在 ...

  8. 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用

    /// <summary> /// 创建ACCESS数据库,并且创建表和数据 /// </summary> /// <param name="dictTable ...

  9. input的实时监控

    <input id="phone" type="tel" placeholder="请输入手机号"> $("#phon ...

  10. sketchup

    1. clean start 1. 删除中间人物 2. windows---style 3. Windows---Model Info 2. 好的建模习惯 1. 正面朝镜头 View---ToolBa ...