>php教程 >php手册 >empty,isset,is_null比较(1/4)

empty,isset,is_null比较(1/4)

WBOY
WBOY원래의
2016-06-13 09:55:081111검색

empty,isset,is_null  这几个函数时候,遇到一些问题。甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认为差不多。因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了。

 一、举例说明

a.一个变量没有定义,我们该怎么样去判断呢?

 

view source print?
01 <?php
02 #不存在<font color="#aa7700">$test</font> 变量
03   
04 <font color="#aa7700">$isset</font>= isset(<font color="#aa7700">$test</font>)?<font color="#0000ff">"test is define!"</font>:<font color="#0000ff">"test is undefine!"</font>;
05 <font color="#ff1493">echo</font> <font color="#0000ff">"isset:$issetrn"</font>;
06   
07 <font color="#aa7700">$empty</font>=!<font color="#ff1493">empty</font>(<font color="#aa7700">$test</font>)?<font color="#0000ff">"test is define!"</font>:<font color="#0000ff">"test is undefine!"</font>;
08 <font color="#ff1493">echo</font> <font color="#0000ff">"empty:$emptyrn"</font>;
09   
10 <font color="#aa7700">$is_null</font>=<font color="#ff1493">is_null</font>(<font color="#aa7700">$test</font>)?<font color="#0000ff">"test is define!"</font>:<font color="#0000ff">"test is undefine!"</font>;
11 <font color="#ff1493">echo</font> <font color="#0000ff">"is_null:$is_nullrn"</font>;

 

测试结果是:

结果出来了:empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!

1 2 3 4

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.