PHP 检测变量是否为空
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 检测变量是否为空的更多相关文章
- PHP判断变量是否为空的几种方法小结
1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_e ...
- PHP的isset()函数 一般用来检测变量是否设置
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...
- php中判断变量是否为空
从数据库中取出值后判断是否为空,这个看起来很简单,只要和null比较一下就可以了,其实不然, if($obj==null){ } 这样写会报错的:Notice: Trying to get prope ...
- empty是判断一个变量是否为“空”,而isset 则是判断一个变量是否已经设置
1.echo和print的区别php中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作 ...
- PHP:isset()-检测变量是否被设置
isset()-检测变量是否被设置 bool isset(mixed $var [, mixed $...]),检查变量是否被设置,并且不是NULL.var,要检测的变量,...其他变量,允许有多个变 ...
- Javascript学习笔记:3种检测变量类型的方法
①typeof检测变量类型 console.log(typeof 1);//number console.log(typeof "a");//string console.log( ...
- PHP isset() 检测变量是否设置
isset() 用于检测变量是否设置. isset() PHP isset() 用于检测一个或多个变量是否设置,如果被检测的变量存在则返回 TRUE,否则返回 FALSE. 语法: 1 bool is ...
- shell判断一个变量是否为空
判断一个变量是否为空 . 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. #!/bin/sh para1= if [ ! -n "$para ...
- 【转】shell中如何判断一个变量是否为空
判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1= if [ ! -n $para1 ]; then echo &q ...
随机推荐
- proj.4投影变换图示
- 【Network】Calico, Flannel, Weave and Docker Overlay Network 各种网络模型之间的区别
From the previous posts, I have analysed 4 different Docker multi-host network solutions - Calico, F ...
- 曲线救国:IIS7集成模式下如何获取网站的URL
如果我们在Global中的Application_Start事件中访问HttpContext.Current.Request对象,如: protected void Application_Start ...
- 【Java EE 学习 34】【struts2学习第一天】
一.struts2简介 struts2是一个用来开发MVC应用程序的框架.它提供了Web应用程序开发过程中的一些常见问题的解决方案. 1.struts2的作用域范围:三层架构当中的第一层,相当于MVC ...
- 【Java EE 学习 25 上】【网上图书商城项目实战】
一.概述 1.使用的jdk版本:1.6 2.java EE版本:1.6 3.指导老师:传智播客 王建 二.小项目已经实现的功能 普通用户: 1.登陆 2.注册 3.购物 4.浏览 管理员用户(全部管理 ...
- Oracle 11g新特性延迟段创建和truncate的增强
下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...
- C语言头文件组织与包含原则
转自:http://www.cnblogs.com/clover-toeic/p/3728026.html 说明 本文假定读者已具备基本的C编译知识. 如非特殊说明,文中“源文件”指*.c文件,“头文 ...
- Linux下的tmpfs文件系统(/dev/shm)
转自:http://www.2cto.com/os/201411/354888.html 介绍 /dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统.redhat中默认 ...
- 水晶报表初体验(Visual Studio 2010)
安装水晶报表后如下使用: 配置rpt文件,如图 前台(Asp.net页面): <%@ Register Assembly="CrystalDecisions.Web, Version= ...
- 机器学习实战-python相关软件库的安装
1 安装python 2 安装sublime text2 3 安装NumPy.Matplotlib http://book.51cto.com/art/201401/426522.htm Matplo ...