小函数,大智慧,php的isset和empty
Disset()函数 一般用来检测变量是否设置
bool isset ( mixed var [, mixed var [, ...]] )
功能:检测变量是否设置
返回值:
FALSE
NULL,也返回 FALSE
NULL,则返回 TURE
TRUE,否则结果为 FALSE
PHP 3, PHP 4, PHP 5
更多说明:
unset() 释放变量之后,它将不再是 isset()。
函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
defined() 函数。
的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
更多说明:
的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。
只能用于变量,传递任何其它参数都将造成Paser error而终止运行。
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 编写页面程序时,经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。
empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我
们
0时,empty()也会成立(True),因而会发生 一些意外。原来,empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty() 认为这个变量同等于空,即相当于没有设置。 比如检测 $id 变量,当 $id=0 时,用empty() 和 isset() 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty() 认为没有配置,isset() 能够取得 $id 的值:
$id=0;
empty($id)?"It's empty .":"print "It's $id .";
结果:It's empty .
!isset($id)?print "It's empty .":print "It's $id .";
结果:It's 0 .
0的值,使用 empty() 要小心,这个时候用 isset 取代它更明智一些。
php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:
若 id=0 ,id 也会为1
若 id=0 ,id 不会为1
可分开运行以下代码检测上述推断:
if(empty($id)) $id=1;
得到 1
if(!isset($id)) $id=1;
得到 0
empty()和 isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足。单从 empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它。empty()和isset()的处理对象无外乎未定义变量,0,空字符串。
0,则empty()会返回TRUE,isset()会返回TRUE;
empty()会返回TRUE,isset()会返回TRUE;
empty()会返回TRUE,isset()会返回FLASE;
empty()的解释如下:
bool empty( mixed var )
var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
isset()的解释如下:
检测变量是否设置
bool isset ( mixed var [, mixed var [, ...]] )
var 存在则返回 TRUE,否则返回 FALSE。
unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”?”)并不等同于 PHP 的 NULL 常数。
: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined()函数。
isset 函数
empty 函数
isset 函数 再用 empty 函数
小函数,大智慧,php的isset和empty的更多相关文章
- isset,empty,is_null小知识
<?php /** 在这项研究开始时,有那么多的人不能很好的运用isset,empty,is_null正确null,false等待值回报值做出正确的推理,在这里,我自己总结通过学习小知识,随后的 ...
- PHP判断变量是否存在及函数isset() 、empty()与is_null的区别
一.举例说明 A.如何判断一个变量是否定义? <?php // 假设不存在$test 变量 if (isset($test)) { echo '$test 已经set', '<br/> ...
- isset 和empty 两个函数的用法
关于用php 获取当前脚本的url很多朋友会说很简单,但是要获取很详细的就要经过多次判断哦. $PHP_TIME = time();$PHP_SELF = isset($_SERVER['PHP_SE ...
- 表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
原文:表单验证的3个函数ISSET().empty().is_numeric()的使用方法 本文就简单讲一下php中表单验证的三个函数,应该比较常用吧,最后给一些示例,请看下文. ISSET();—— ...
- 判断变量是否不为空,函数isset()、!empty()与!is_null()的比较
转载:https://blog.csdn.net/qq_38812954/article/details/79581785 判断变量的值,尤其是判断他们是否不为空,我们有以下4种方法: if(isse ...
- PHP isset()与empty()的使用区别详解(转)
通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法. PHP的 ...
- isset和empty比较
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...
- PHP isset()与empty()的使用区别详解
通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法. PHP的is ...
- PHP isset()与empty()的区别详解
通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言. 庞大的函数库支持着PHP语言功能的实现. 有关PHP函数isset()与empty()的相关用法. PHP的isset()函数 一 ...
- 小程序大智慧,sqlserver 注释提取工具
原文:小程序大智慧,sqlserver 注释提取工具 开篇背景 我习惯在写表的创建脚本时将注释直接写在脚本里,比如 /*账套*/ CREATE TABLE [dbo].[AccountingBook] ...
随机推荐
- ubuntu14.04 安装 StudioZend12
到官网下载:http://www.zend.com/en/products/studio/downloadsLinux-64位:http://downloads.zend.com/studio-ecl ...
- IDataParameter调用存储过程
public string GenerateExamePaper(string paperType, string driverID, string MacAddr) { ...
- Unity 图片的灰度处理
我们平时在做项目时,经常遇到按钮的点击而且还要区分悬浮,点击,禁用的状态,美术要针对一张图片做多个状态图片,资源图片的数量也就增大了,那么打出的包的大小也就跟着上去了,所以我们可以针对原始图片进行Sh ...
- Ubuntu12.04 Git 服务器详细配置
Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,学过Linux的都知道,Git的优点我就不再多说了,我也是很喜欢Linux的.今天我们一起学习Git服务器在Ubunt ...
- socket——本地服务器和android手机客户端通讯(防止中文乱码)
线上效果图: 服务端接收到的. 客户端接受到服务器返回的. server端代码直接运行在本地就可以了. 手机客户端运行在手机上就行. 先安装客户端,再启动server.然后再输入文字,点击发送. se ...
- javascript 之 this 用法
参考视频:http://www.imooc.com/video/6430 JavaScript中的this比较灵活,也是让很多初学者摸不到头脑,那么根据在不同的环境下,在同一个函数,不同的调用方式下, ...
- 公司项目笔记-导出excel
一.asp.net中导出Excel的方法: 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览 ...
- Windows7 无法打开ASA SSL VPN和ASDM首页
原文地址:Windows7 无法打开ASA SSL VPN 首页和无法打开 ASDM GUI 页面作者:futhy windows 7 无法打开ASA SSL VPN 和AS ...
- UVA 227 Puzzle - 输入输出
题目: acm.hust.edu.cn/vjudge/roblem/viewProblem.action?id=19191 这道题本身难度不大,但输入输出时需要特别小心,一不留神就会出问题. 对于输入 ...
- JS控制文本框中的密码显示/隐藏功能
<html> <head> <title>[荐]JS控制文本框中的密码显示/隐藏功能_网页代码站(www.6a8a.com)</title> <s ...