PHP isset()与empty()的区别
PHP的isset()函数 一般用来检测变量是否设置
格式:bool isset ( mixed var [, mixed var [, ...]] )
功能:检测变量是否设置
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
版本:PHP 3, PHP 4, PHP 5
更多说明:
使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。
PHP的empty()函数 判断值为否为空
格式:bool empty ( mixed var )
功能:检查一个变量是否为空
返回值:
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
版本:PHP 3, PHP 4, PHP 5
更多说明:
empty()的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。
empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。
检测常量是否已设置可使用 defined() 函数。
例子: 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';
}
?>
注: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。
注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。
<?php
error_reporting(E_ALL);
echo '<B>未定义$var</b><Br>';
echo "isset测试:<Br>";
if ( isset ( $var ))
{
echo '变量$var存在!<Br>' ;
}
echo "empty测试:<Br>";
if ( empty ( $var )){
echo '变量$var的值为空<Br>';
}
else
{
echo '变量$var的值不为空<Br>';
}
echo "变量直接测试:<Br>";
if ( $var ){
echo '变量$var存在!<Br>';
}
else {
echo '变量$var不存在!<Br>';
}
echo '----------------------------------<br>';
echo '<B>$var = \'\'</b><Br>';
echo "isset测试:<Br>";
$var = '';
if ( isset ( $var ))
{
echo '变量$var存在!<Br>' ;
}
echo "empty测试:<Br>";
if ( empty ( $var )){
echo '变量$var的值为空<Br>';
}
else
{
echo '变量$var的值不为空<Br>';
}
echo "变量直接测试:<Br>";
if ( $var ){
echo '变量$var存在!<Br>';
}
else {
echo '变量$var不存在!<Br>';
}
echo '----------------------------------<br>';
echo '<B>$var = 0</b><Br>';
echo 'isset测试:<Br>';
$var = 0 ;
if ( isset ( $var ))
{
echo '变量$var存在!<Br>' ;
}
echo "empty测试:<Br>";
if ( empty ( $var )){
echo '变量$var的值为空<Br>';
}
else
{
echo '变量$var的值不为空<Br>';
}
echo "变量直接测试:<Br>";
if ( $var ){
echo '变量$var存在!<Br>';
}
else {
echo '变量$var不存在!<Br>';
}
echo '----------------------------------<br>';
echo '<B>$var = null</b><Br>';
echo 'isset测试:<Br>';
$var = null ;
if ( isset ( $var ))
{
echo '变量$var存在!<Br>' ;
}
echo "empty测试:<Br>";
if ( empty ( $var )){
echo '变量$var的值为空<Br>';
}
else
{
echo '变量$var的值不为空<Br>';
}
echo "变量直接测试:<Br>";
if ( $var ){
echo '变量$var存在!<Br>';
}
else {
echo '变量$var不存在!<Br>';
}
echo '----------------------------------<br>';echo '<B>$var ="php"</b><Br>';
echo 'isset测试:<Br>';
$var = "php";
if ( isset ( $var ))
{
echo '变量$var存在!<Br>' ;
}echo "empty测试:<Br>";
if ( empty ( $var )){
echo '变量$var的值为空<Br>';
}
else
{
echo '变量$var的值不为空<Br>';
}
echo "变量直接测试:<Br>";
if ( $var ){
echo '变量$var存在!<Br>';
}
else {
echo '变量$var不存在!<Br>';
}
?>
PHP isset()与empty()的区别相关推荐
- isset与empty的区别
isset():用于判断一个函数是否被设置过,如果设置过就为true,否则就为false,但是有一个例外,就是如果一个变量被设置成null的话,此时也会返回的也是false. <?php$a = ...
- 谈函数isset()和empty()的区别
PHP的isset()函数 一般用来检测变量是否设置 ,而empty()函数 判断值是否为空 ,对于初学者来说,这两个函数很容易混淆,现在就来谈谈这两者的区别吧: isset() 格式:bool is ...
- PHP isset()和empty()的区别
今天再做一个功能时,需要检测检测数据库某个字段为是否为空,特地复习了一个下几个检测函数复习一下. 1.empty 判断一个变量是否为空 null.false.00.0.'0′.』.都会返回true. ...
- PHP的isset和empty的区别
empty函数 用途: 检测变量是否为空 判断: 如果var是非空或非零的值,则empty()返回false.换句话说,"".0."0".NULL.FALSE. ...
- PHP isset()与empty()的使用区别详解
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...
- PHP isset()和empty()区别
在PHP中isset()和empty()之间很容易混淆,它们都是用于测试变量的值,都返回一个布尔值.在使用 php 编写页面程序时,经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空, ...
- isset和empty以及is_null区别
注:根据时长用到的,本篇着重isset和empty. 1.当变量未定义时,is_null()和"参数本身"是不允许作为参数判断的,会报Notice警告错误: 2.empty,iss ...
- isset和empty有什么区别? (PHP面试题)
1)如何检测一个变量是否被定义 : isset为假 1,直接定义为假 2,未定义变量为假 3,unset销毁的变量为false isset():检测一个变量是否被定义 2)如何检测一个变量 ...
- php之isset() 、empty()、is_null()的区别
1.isset() -- 入参只能为变量,检测变量存在值并且不为NULL则返回true,否则返回false; //isset(1);//参数不是变量发生错误 -- PHP Parse error: s ...
最新文章
- php.ini 中开启短标签
- 部署承载于 Internet 信息服务中的 WCF 服务
- 全国计算机等级考试题库二级C操作题100套(第19套)
- WinForm:进度条的实现(异步)
- 一键了结CUP100%问题
- 年度最佳代码“不管你们信不信,反正我信了”
- .net项目开发工具(V2.0)异常报告专帖
- linux使用iscsi磁盘的几个步骤
- 字符串部分函数的实现
- java多线程(2)----继承的方式创建多线程
- 挑netfilter的11个不足之处
- 可以用WebRTC来做视频直播吗?
- 桌面存放linux文件无法删除,电脑桌面文件无法删除怎么办?
- 高通芯片资料下载大全,这是一个资料下载论坛
- 2019年2月已到,Java 8要收费了吗?
- cannot retry due to redirection, in streaming mode
- 【实战】1213- 点赞动画还可以做得那么飘逸!
- notepad++ 同时搜索多个关键字
- java读取文件夹下所有文件并替换文件每一行中指定的字符串
- matlab中size()函数的用法