php empty() 检查一个变量是否为空

yipeiwu_com6年前PHP代码库
empty — 检查一个变量是否为空

Report a bug 描述

bool empty ( mixed $var )
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。参见转换为布尔值获取更多信息。

Example #1 empty() 与 isset() 的一个简单比较。
复制代码 代码如下:

<?php
$var = 0;
// 结果为 true,因为 $var 为空
if (empty($var)) {
echo '$var is either 0 or not set at all';
}
// 结果为 false,因为 $var 已设置
if (!isset($var)) {
echo '$var is not set at all';
}
?>

Note: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。

Note:

empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。

The following things are considered to be empty:

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)
对"空数组"的理解:array() (an empty array)

复制代码 代码如下:

<?php
$array1=array();
print_r($array1);
if(empty($array1)){
echo '对empty()来说是空数组(an empty array)';
}
else{
echo '对empty()来说是非空数组(an noempty array)';
}
?>
//显示结果:######################
Array
(
)
//对empty()来说是an empty array
###############################
<?php
$array1=array();
$array1[]='';
print_r($array1);
if(empty($array1)){
echo '对empty()来说是空数组(an empty array)';
}
else{
echo '对empty()来说是非空数组(an noempty array)';
}
?>
//显示结果:######################
Array
(
[0] =>
)
//对empty()来说是非空数组(an noempty array)
//###############################
//这个并不是空数组,因为它有一个元素为空字符(""),要注意和空字符("" (an empty string))区别;

相关文章

thinkphp多表查询两表有重复相同字段的完美解决方法

框架:thinkphp 版本:3.2.3 内容:查询语句 解决问题:重复字段问题 $Data = M('a')->where($where) ->Fiel...

如何离线执行php任务

直接上代码,主要函数 ignore_user_abort(true); 这个函数忽略了终端被关闭(打开的网页被关闭),后面 getfiles()这函数是执行采集任务的自定义函数,后面又配...

PHP开发中AJAX技术的简单应用

AJAX无疑是2005年炒的最热的Web开发技术之一,当然,这个功劳离不开Google。我只是一个普通开发者,使用AJAX的地方不是特别多,我就简单的把我使用的心得说一下。(本文假设用户...

PHP设计模式之观察者模式定义与用法分析

本文实例讲述了PHP设计模式之观察者模式定义与用法。分享给大家供大家参考,具体如下: 观察者模式 当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新 场景:当一个事件发生...

PHP抽象类基本用法示例

本文实例讲述了PHP抽象类基本用法。分享给大家供大家参考,具体如下: <?php //抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法...