大发体育娱乐在线-大发体育娱乐官方网站-大发体育娱乐登录网址
做最好的网站

的利用分别详解,PHP函数比较变量

来源:http://www.dfwstonefabricators.com 作者:编程应用 人气:127 发布时间:2019-09-22
摘要:用作叁个PHPer,必定要多看PHP手册,每过壹还击册,你总会开掘有的原先被您忽略的局地东西; 大家能够从各类不一致的地方/路子学习到PHP的连锁文化,但也不用忘记大家的手册,PH

用作叁个PHPer,必定要多看PHP手册,每过壹还击册,你总会开掘有的原先被您忽略的局地东西; 大家能够从各类不一致的地方/路子学习到PHP的连锁文化,但也不用忘记大家的手册,PHP手册永恒是读书和升级换代PHP的一本好书; 看到非常的多博文都有冲突过 ‘empty()的坑’、‘empty的差异’ 之类 ,其实手册中很完整的交由了那个相关函数的注意点和区分

使用 PHP 函数对变量$x进行比较
表达式 gettype() empty() is_null() isset() boolean:if
$x = ""; string TRUE FALSE TRUE FALSE
$x = null; NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$xis undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
$x = -1; integer FALSE FALSE TRUE TRUE
$x = "1"; string FALSE FALSE TRUE TRUE
$x = "0"; string TRUE FALSE TRUE FALSE
$x = "-1"; string FALSE FALSE TRUE TRUE
$x = "php"; string FALSE FALSE TRUE TRUE
$x = "true"; string FALSE FALSE TRUE TRUE
$x = "false"; string FALSE FALSE TRUE TRUE

在使用 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)?print "It's empty .":print "It's $id ."; 
  //结果:It's empty .
 print "
";
 !isset($id)?print "It's empty .":print "It's $id .";
  //结果:It's 0 .

这意味,大家在应用变量管理函数时,当该变量恐怕现身0的值,使用 empty() 要小心,那年用 isset 替代它更加精圣元些。

当多少个php页面包车型大巴 U陆风X8L 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

if(empty($id)) $id=1; - 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1

可分别运转以下代码检查测验上述预计:

 if(empty($id)) $id=1;
 print $id; // 得到 1
 if(!isset($id)) $id=1;
 print $id; //得到 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()的表明如下:

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中empty和isset对于参数结构的判别及empty()和isset()的区分
  • php empty()与isset()不相同的事无巨细介绍
  • 深入PHP empty(),isset(),is_null()的实例测量试验详解
  • PHP表单验证的3个函数ISSET()、empty()、is_numeric()的行使情势
  • PHP isset()与empty()的应用分别详解

本文由大发体育娱乐在线发布于编程应用,转载请注明出处:的利用分别详解,PHP函数比较变量

关键词:

上一篇:NET页面之间传值的艺术之Server

下一篇:没有了

最火资讯