empty,isset,is_null 这几个函数时候,遇到一些问题。甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认为差不多。因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了。
一、举例说明
a.一个变量没有定义,我们该怎么样去判断呢?
立即学习“PHP免费学习笔记(深入)”;
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>;
立即学习“PHP免费学习笔记(深入)”;
测试结果是:
结果出来了:empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!
1 2 3 4












