ホームページ >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 までご連絡ください。