Skip to main content

php函数is_null,isset,empty区别

当变量 $a=null


<?php

$a = null;

echo is_null($a);//1

echo '<br/>';

echo isset($a);//

echo '<br/>';

echo empty($a);//1

?>

is_null($a) true


isset($a) false


empty($a) true


当变量 $a=''(空字符串)


<?php

$a = '';

echo is_null($a);//

echo '<br/>';

echo isset($a);//1

echo '<br/>';

echo empty($a);//1

?>

is_null($a) false


isset($a) true


empty($a) true


当变量 $a=' '(中间有个空格)


<?php

$a = ' ';

echo is_null($a);//

echo '<br/>';

echo isset($a);//1

echo '<br/>';

echo empty($a);//

?>

is_null($a) false


isset($a) true


empty($a) false


当变量 $a=array()(空数组)


<?php

$a = array();

echo is_null($a);//

echo '<br/>';

echo isset($a);//1

echo '<br/>';

echo empty($a);//1

?>

is_null($a) false


isset($a) true


empty($a) true


总结:


1、is_null 只对null为true,其他的为false,php中null是一个既没类型有没有值的变量。


2、isset 只对null为false,其他的为true, 因为 '' , ' ' ,array(),这三种变量是有明确的数据类型的,''代表空的字符串,' '代表空格字符串,array()代表空的数组。因此一个变量只要有类型isset就为 true。


3、empty 只对非空的数组和字符串为false。

————————————————

版权声明:本文为CSDN博主「L.Cheng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/hi1234560/article/details/131400729