陈词滥调的话题,之所以用这两个函数做对照,是因为常用来推断变量是不是为空,然则它们有些差别,下面举行下对照。
定义
先来看下两个函数的手册
empty
empty — 搜检一个变量是不是为空
bool empty ( mixed $var )
推断一个变量是不是被以为是空的。当一个变量并不存在,或许它的值等同于FALSE,那末它会被以为不存在。假如变量不存在的话,empty()并不会发生正告。
isset
isset — 检测变量是不是已设置而且非 NULL
bool isset ( mixed $var , [mixed $... ] )
检测变量是不是设置,而且不是 NULL。
从手册中能够看出两个函数的重点,empty 的重点是不是为空,isset 的重点是不是已设置而且非 NULL 。
对照
以下排列几种能够涌现的空值,运用两个函数推断变量是不是为空,对照一下返回值是不是相符期待(注:isset 返回 false 等同于 empty 返回 true)。
变量值 | empty | isset | 是不是雷同 |
---|---|---|---|
false | bool(true) | bool(true) | 不雷同 |
null | bool(true) | bool(false) | 雷同 |
'' | bool(true) | bool(true) | 不雷同 |
'0' | bool(true) | bool(true) | 不雷同 |
0 | bool(true) | bool(true) | 不雷同 |
array() | bool(true) | bool(true) | 不雷同 |
未定义 | bool(true) | bool(false) | 雷同 |
结论
由上表能够看出,empty 以为一切值都是空;而 isset 除了 null 和未定义,都以为已设置而且非 NULL。了解了两个函数的差别点,在写代码的时刻依据需求举行挑选。
以上就是php中empty函数和isset函数的对照引见的细致内容,更多请关注ki4网别的相干文章!