empty和isset都可以用来判断变量是否存在,empty是判定是否为空,isset判定是否被定义。
有些需要注意的地方如下:
例1:
$str=' ';//赋值为空格符
var_dump( empty($str));//输出为true
var_dump(isset($str));//输出为true
例2:
$str='0';//赋值为空格符
var_dump( empty($str));//输出为true
var_dump(isset($str));//输出为true
需要注意的是,'0'字符被empty当作了空,但是如果是两个或两个以上的字符,empty都不会当作空:
例3:
$str=' ';//赋值为两个空格符' '+' ',或者是'0'+' '、' '+'0'
var_dump( empty($str));//输出为false
var_dump(isset($str));//输出为true
而null和字面量''赋值也是有所差别,输入''和null时,empty没什么影响都是true,而isset则分别输出true和false:
例4:
$str='';//赋值为空
var_dump( empty($str));//输出为true
var_dump(isset($str));//输出为true
例5:
$str=null;//赋值为null
var_dump( empty($str));//输出为true
var_dump(isset($str));//输出为false
更多推荐
PHP自学---empty()和isset()的使用
发布评论