php empty()与isset()】的更多相关文章

近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究.经过分析可发现两个函数调用的都是同一个函数,因此本文将对两个函数一起分析. 我在github有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注解.可以通过commit记录查看已添加的注解. 函数使用格式 empty bool empty ( mixed $var ) 判断变量是否为空. isset bool is…
1.empty函数 用途:检测变量是否为空 若变量不存在则返回 TRUE 若变量存在且其值为"".0."0".NULL..FALSE.array().var $var; 以及没有任何属性的对象,则返回 TURE 若变量存在且值不为"".0."0".NULL..FALSE.array().var $var; 以及没有任何属性的对象,则返回 FALSE 2.isset函数用途:检测变量是否设置 若变量不存在则返回 FALSE 若变…
在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再. 顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置.正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生一些意外.原来,empty() 和 isset() 虽然都是变量处理函数,它们…
include()与require()的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间.他们最根本的区别在于错误处理的方式不一样. 1.处理错误的方式: require()一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 include()一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误. 2.返回值 include有返回值,而require没有 3.引入时间不同: require()通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 r…
empty(), is_null(), isset()真值表(区别) 我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE. empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE.换句话说,"" .0 ."0" .NULL .FALSE .array() .var $var; 以及没有任何属性的对象 都将被认为是空的,如果变量为空,…
在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再. 顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置.正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生 一些意外.原来,empty() 和 isset() 虽然都是变量处理函数,它…
通过一个例子来解释一下, $id = 0  empty($id) 的值是true isset($id) 也是true. empty 和isset 处理对象无外乎 未定义常量 .0 .空字符串 如果变量为0 ,empty返回true isset 返回true 如果变量为空字符串,empty返回true isset返回true 如果变量未定义 ,empty返回true isset 返回false isset()只能用于变量 因为传递任何参数都将造成解析错误,若想检测常量是否已设置,可使用defind…
在php脚本中,我们经常要去判断一个变量是否已定义或者是否为空,就需要用到这些函数empty().isset().is_null()和其本身作为参数,下面小段程序做个简要比较 <?php//预定义变量数组:空字符,字符0,数组0,null,布尔false,空数组$arr_var = array('', '0', 0, null, false, array()); foreach ($arr_var as $value) { echo '<br>传入值为:' . $value . '<…
isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a="" true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false true $a=15 false false true $a=1 false false true $a…
以下内容转载自http://wuxinjie.github.io/php-04/ 从下表可知,empty与if()完全相反,is_null与isset完全相反 isset是语句,is_null是函数,因此isset执行速度远远大于isnull 因为是函数,is_null可以作为可变函数调用,也可以接受函数返回值作为参数,isset统统不行. 同样因为执行速度,建议使用 “=== NULL” 来代替isnull 什么时候用哪个呢?我的建议是哪个方便用哪个. 表达式 gettype() empty(…
isset判断变量是否已存在(配置) unset把变量删除(释放)掉 empty 判断变量是否为空 is_null 判断变量是否为NULL is_null,我们可以把它看成是!isset,是isset的一个逆操作,下面一张表可以很清楚的说明他们之间的关系: 变量 empty is_null isset $a='' true false true $a=null true true false var $a true true false $a=array() true false true $a…
PHP empty.isset.isnull的区别 empty 如果 变量 是非空或非零的值,则 empty() 返回 FALSE.换句话说,”".0.”0″.NULL.FALSE.array().var $var.未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE. isset 如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义).变量值设置为:null,返回也是false;unset一个变量后,变量被取消了.注意,isset对于…
有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些. 测试的类型如下: <?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> empty() 首先是empty()的var_dump输出: <?php var_dump(empty($a)); v…
一. null VS undefined VS NaN 1. null 定义:null是特殊的object,是空对象,没有任何属性和方法. document.writeln(typeof null); // object 值得注意的是: 对象模型中,所有的对象都是Object或其子类的实例,但null对象例外: document.writeln(null instanceof Object); // false 2. undefined 定义:undefined是undefined类型的值,未定…
empty() : 检查一个变量是否为空. 判断一个变量是否被认为是空的.当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在.如果变量不存在的话,empty()并不会产生警告. empty() 本质上与 !isset($var) || $var == false 等价. empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行. 检测常量是否已设置可使用 defined() 函数. 返回值 当var存在,并且是一个非空非零的值时返回 FALSE 否…
函数使用格式 empty bool empty ( mixed $var ) 判断变量是否为空. isset bool isset ( mixed $var [ , mixed $... ] ) 判断变量是否被设置且不为NULL. 参数说明 对于empty,在PHP5.5版本以前,empty只支持变量参数,其他类型的参数会导致解析错误,比如函数调用的结果不能作为参数. 对于isset,如果变量被如unset的函数设为NULL,则函数会返回false.如果多个参数被传递到isset函数,那么只有所…
PHP中,在判断变量是否为空的时候,总会纠结应该选用哪个函数,下面列取常用的多种情况,其中1/3经过我的验证,其它来自网络,验证后使用... 使用 PHP 函数对变量 $x 进行比较 表达式 gettype() empty() is_null() isset() if($x) Boolean is_null $x = ""; string TRUE FALSE TRUE FALSE false $x = null; NULL TRUE TRUE FALSE FALSE true var…
关于PHP中empty().isset() 和 is_null() 这三个函数的区别,之前记得专门总结过,上次又被问到,网上已经很多,就用几个例子来说明: 测试用例选取: <?php $a;$b = false;$c = '';$d = 0;$e = null;$f = array(); ?> 用var_dump()分别输出如下: empty() bool(true)bool(true)bool(true)bool(true)bool(true)bool(true) isset() bool(…
1.empty 判断一个变量是否为“空”.null.false.00.0.’0′.』.为以上值的变量在检测時都将返回true. 2.isset 判断一个变量是否已经设置.0.00.’0′.』.’ ‘.false.’false’.’null’都返回true.只有值为null的变量才返回true 3.if 判断式 0.00.0.0.’0′.』.false.null返回false‘00′.’0.0′.’null’.’false’.’ ‘返回true is_null, empty, isset, uns…
isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a=”” true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false true $a=15 false false true $a=1 false false true $a=0 tr…
一个例子 猜猜看,下面的例子会输出什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $a = array('a'=>1, 'b'=>0, 'c'=>NULL);   echo 'a test by empty: ' , empty($a['a']) ? 'not exist' : 'exist', PHP_EOL; echo 'a test by isset: ' , isset($a['a']) ? 'exist' : 'not exist',…
empty(), is_null(), isset()真值表(区别)   我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE. empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE.换句话说,"" .0 ."0" .NULL .FALSE .array() .var $var; 以及没有任何属性的对象 都将被认为是空的,如果变量为…
有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些. 测试的类型如下: <?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> empty() 首先是empty的var_dump输出: <?php var_dump(empty($a)); var…
empty 和 isset的区别和联系 要说它们的联系,其共同点就是empty()和isset()都是变量处理函数,作用是判断变量是否已经配置,正是由于它们在处理变量过程中有很大的相似性,才导致对它们的关系认识不足.单从empty()和isset()这两个函数本身来考虑的话会把人弄得更糊涂,换一个角度来它.empty()和isset()的处理对象无外乎未定义变量,0,空字符串.如果变量为0,则empty()会返回TRUE,isset()会返回TRUE: 如果变量为空字符串,则empty()会返回…
在使用 php 编写页面程序时,我常常使用变量处理函数推断 php 页面尾部參数的某个变量值是否为空,開始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再. 顾名思义,empty() 推断一个变量是否为"空",isset() 推断一个变量是否已经设置. 正是这样的所谓的"顾名思义".令我開始时走了些弯路:当一个变量值等于0时.empty()也会成立(True),因而会发生一些意外.原来,empty() 和 isse…
1.empty 判断一个变量是否为空 null.false.0.0.0.’0′.array() .' '.var $a   都会返回true. 2.isset 判断一个变量是否设置 0.00.’0′.array() .’ ‘.false.’false’.’null’都返回true. 只有值為null的变量返回true 3.if 判断式 0.00.0.0.’0′.array() .false.null返回false ‘00′.’0.0′.’null’.’false’.’ ‘返回true isset…
isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isset $a=”” true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false true $a=15 false false true $a=1 false false true $a=0 tr…
2015年12月11日 10:59:08 echo phpversion(); //5.6.13 $a = array( 'aaa' => 1, 'bbb' => 0, 'ccc' => null, ); var_dump(isset($a['aaa'])); //true var_dump(isset($a['bbb'])); //true var_dump(isset($a['ccc'])); //false var_dump(isset($a['ddd'])); //false e…
如果变量为0,则empty()会返回TRUE,isset()会返回TRUE:如果变量为空字符串,则empty()会返回TRUE,isset()会返回TRUE:如果变量未定义,则empty()会返回TRUE,isset()会返回FLASE;…
对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚. 先说一下他们的共同点: 都可以判定一个变量是否为空: 都返回boolean类型,即true或false. 下面具体说一下他们用法之间的区别: isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误.若想检测常量是否已设置,可使用 defined() 函数.如果已经使用 unset() 释放了一个变量之后,它将不再是 isset().若…