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. Nubia Z9 mini使用体验

    前续用的手机:荣耀6 想换的理由: 1, 充电不方便,除了原装的充电器和小米移动电源,其他的充电器和移动电源约有一半都只能以USB方式慢充,即使是2.0A以上输出电流的: 2, 拍照太渣. Z9 mi ...

  2. python之路五

    内建模块 time和datetime 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现 ...

  3. python3 爬虫

    保存当前cookie到本地 import urllib.request as ur import http.cookiejar as hc url='http://www.xxxx.com/admin ...

  4. C#中的日期处理函数

    C#中的日期处理函数 //2013年4月24日 this.TextBox6.Text = System.DateTime.Now.ToString("D"); //2013-4-2 ...

  5. block、inline、inline-block

    block: block - 块级元素 常见的块级元素包括:div,form,p,table,ul,ol,dl,h1~h6,pre block 可以包含 inlne 和 block 和 inline- ...

  6. iOS 8.0后使用UIAlertController

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...

  7. NYOJ题目27水池数目

    --------------------------------------------- 这道题有点坑,也怪我总是有点马虎,按照正常人的思维0是表示有水池啊竟然是1表示有水池,最坑的是写反了竟然还能 ...

  8. 7.Java中的字符串

    1.String的特性 特性一:不可变性 String s=new String("yangyun") s=s.toUpperCase(); 这里的s,s占用的空间是不一样的(地址 ...

  9. Could not load file or assembly 'System.ServiceModel.DomainServices.Hosting'.系统找不到指定文件

    项目部署到服务器后出现如下错误信息: Parser Error Message: Could not load file or assembly 'System.ServiceModel.Domain ...

  10. 图像分割算法-GraphSeg算法

    图像分割是图像处理中的一个基础课题范围,本文简要介绍一种比较好的图像分割算法: Efficient Graph-Based Image Segmentation 论文出处:http://cs.brow ...