phpstudy_php 判断变量为空详解介绍

更新时间:2017-12-14    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

empty() 与 isset() 的一个简单比较。

 代码如下

        $var = 0; // 结果为 true,因为 $var 为空
        // 结果为 true,因为 $var =0
        if (empty($var)) { echo "$var is either 0 or not set at all"; }
        //结果为false, 因为$var已经设置了
        if (!isset($var)) { echo "$var is not set at all"; } 
?>  

上面的empty与isset判断为没有任何属性的对象都将被认为是空.

 var == null

功能:判断变量是否为“空”
说明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。

 

 代码如下

$a = 0;
$b = array();
if ($a == null) echo "$a 为空" . "";
if ($b == null) echo "$b 为空" . "";
if ($c == null) echo "$b 为空" . "";
// 显示结果为
// $a 为空
// $b 为空

// Undefined variable: c


is_null

 代码如下

$a = null;
$b = false;
if (is_null($a)) echo "$a 为NULL" . "";
if (is_null($b)) echo "$b 为NULL" . "";
if (is_null($c)) echo "$c 为NULL" . "";
// 显示结果为
// $a 为NULL

// Undefined variable: c

变量==0 或 变量===0

 代码如下

$a ===0  $a ===""
$a ==0 等于 $a ==""

在php url传参数时

php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

 代码如下

if(empty($id)) $id=1; // 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; // 若 id=0 ,id 不会为1 
可分开运行以下代码检测上述推断:

if(empty($id)) $id=1;
   print $id; // 得到 1 
if(!isset($id)) $id=1;
   print $id; //得到 0 


总结

在php中NULL与空是两种不同的概念,

isset  主要用来判断变量是否被初始化过
empty  可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE
is_null  仅把值为 “NULL” 的变量判断为TRUE
var == null  把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE
var === null  仅把值为 “NULL” 的变量判断为TRUE

其它一些可能用到php变量判断的函数

isset($ var) : //变量是不是已经声明

empty($ var): //变量是不是为空

defined($ var): //常量是不是已经定义 define()

is_array($ var): //检验测定变量是不是是数组

is_null($ var): //检验测定变量是不是为 null

本文来源:http://www.bbyears.com/jiaocheng/37767.html

热门标签

更多>>

本类排行