PHP isset()及empty()用法区别详解


Posted in PHP onAugust 29, 2020

PHP isset函数作用

isset函数是检测变量是否设置。

格式:bool isset( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回FALSE

若变量存在且其值为NULL,也返回FALSE

若变量存在且值不为NULL,则返回TURE

同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE

如果已经使用unset()释放了一个变量之后,它将不再是isset()。若使用isset()测试一个被设置成NULL的变量,将返回FALSE。同时要注意的是一个NULL字节("\0")并不等同于PHP的NULL常数。

警告:isset()只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined()函数。

<?php

$a = array ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test') ); // TRUE
var_dump( isset ($a['foo') ); // FALSE
var_dump( isset ($a['hello') ); // FALSE

// 'hello' 等于 NULL,所以被认为是未赋值的。
// 如果想检测 NULL 键值,可以试试下边的方法。
var_dump( array_key_exists('hello', $a) ); // TRUE

?>

PHP的empty()函数

格式:bool empty(mixed var)

功能:检查一个变量是否为空

返回值:

若变量不存在则返回TRUE

若变量存在且值为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回TURE

若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var;以及没有任何属性的对象,则返回FALSE

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'; 
} 
?>

当要判断一个变量是否已经声明的时候可以使用isset函数

当要判断一个变量是否已经赋予数据且不为空,可以用empty函数

当要判断一个变量存在且不为空,先isset函数,再用empty函数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP经典的给图片加水印程序
Dec 06 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
解析thinkphp中的M()与D()方法的区别
Jun 22 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
详解PHP对数组的定义以及数组的创建方法
Nov 27 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
php实现文件预览功能
May 23 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
PHP实现简单日历类编写
Aug 28 #PHP
PHP实现文件上传与下载
Aug 28 #PHP
PHP实现计算器小功能
Aug 28 #PHP
PHP实现简易图形计算器
Aug 28 #PHP
PHP实现简单的计算器
Aug 28 #PHP
php实现简易计算器
Aug 28 #PHP
有关PHP 中 config.m4 的探索
Aug 26 #PHP
You might like
配置最新的PHP加MYSQL服务器
2006/10/09 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
php 保留字列表
2012/10/04 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
使用正则替换变量
2007/05/05 Javascript
JS location几个方法小姐
2008/07/09 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
python自动识别文本编码格式代码
2019/12/26 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
Python实现疫情地图可视化
2021/02/05 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
期终自我鉴定
2014/02/17 职场文书
教师远程培训心得体会
2016/01/09 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书