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. 编程之美读书笔记之 -寻找出现次数为1的ID的问题

    问题描述: 在一张表里面保存了N个ID,有N-1个ID是出现了两次的,只有一个ID只出现了一次,现在要你把这个ID找出来.如果是两个呢?   解法一: 我们先来解决一个的.假如ID的值的范围是1-k, ...

  2. CentOS下SNMP的安装与使用

    CentOS下SNMP的安装与使用   导读 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(datab ...

  3. python smtplib email

    监控系统需要触发报警邮件, 简单笔记一下的用到的库. smtplib class smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]) 返 ...

  4. Python之路,Day3 - Python基础3

    一.文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  5. .NET LINQ 串联运算

    串联运算      串联是指将一个序列追加到另一个序列的运算. 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询表达式语法 更多信息 Concat 串联两个序列以组成一个序列. ...

  6. jq表头固定

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <meta na ...

  7. ldd 命令用于判断某个可执行的binary档案含有什么动态链接库(so)

    [root@NB ok]# ldd /bin/ls linux-vdso.so. => (0x00007ffd7dbf6000) libselinux.so. => /lib64/libs ...

  8. HTTP协议GET和POST请求的区别

    浏览器中输入网址访问资源一般都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交.Http协议定义了与服务器交互的不同方法,最基本的方法有4种, ...

  9. [PHP]基本排序(冒泡排序、快速排序、选择排序、插入排序、二分法排序)

    冒泡排序: function bubbleSort($array){ $len=count($array); //该层循环控制 需要冒泡的轮数 for($i=1;$i<$len;$i++){ / ...

  10. malloc与new的区别

    1.new是运算符,而malloc是库函数 2.new可以重载,可以自定义内存分配策略,甚至不做内存分配,甚至分配到非内存设备上.而malloc不能. 3.new在用于定义一个新的非内部对象的时候,默 ...