Heim >Backend-Entwicklung >PHP-Tutorial >empty,isset,is_null比较(1/4)_PHP教程

empty,isset,is_null比较(1/4)_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:54:13927Durchsuche

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>;

 

测试结果是:

image

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

1 2 3 4

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632335.htmlTechArticleempty,isset,is_null 这几个函数时候,遇到一些问题。甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认为差不多。因此开...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn