php之isset() 、empty()、is_null()的区别

 2023-09-16 阅读 24 评论 0

摘要:1、isset() —— 入参只能为变量,检测变量存在值并且不为NULL则返回true,否则返回false;//isset(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER //未定义的变量echo isset($no).'<hr>';//false $var;echo

1、isset() —— 入参只能为变量,检测变量存在值并且不为NULL则返回true,否则返回false;
//isset(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER

 

//未定义的变量
echo isset($no).'<hr>';//false

$var;
echo isset($var).'<hr>';//false

php中empty的功能?$var = NULL ;
echo isset($var).'<hr>'; //false


//以下几种情况都返回true
$var=0;
echo isset($var); //true
$var=-0.1;
echo isset($var); //true
$var="";
echo isset($var); //true


//与isset()对应的函数是unset(),unset()销毁一个变量后[可以回收内存],变量的isset()将返回false;
$var=123;
echo isset($var);//true
unset($var);//销毁变量
echo isset($var);//false

 

 

php运算符优先级、2、empty($var) -- [入参只能为变量] 判断变量值是否为空,当一个变量不存在或者值等同于FALSE,那么该变量则为空。

//empty(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER

以下的东西被认为是空的【empty(x)返回TRUE】:
•"" (空字符串)
•0 (作为整数的0)
•0.0 (作为浮点数的0)
•"0" (作为字符串的0)
•NULL
•FALSE
•array() (一个空数组)
•$var; (一个声明了,但是没有值的变量)

 

注意:isset和empty是语言构造器而不是一个函数,不能被可变函数调用。 本质上与 !isset($var) || $var == false 等价

PHP isset。 

3、is_null 检测一个变量的值是否为null

//未定义变量$abc
var_dump(is_null($abc));//返回true 发生错误通知 Notice: Undefined variable

//声明了一个变量,未赋值
$abc;
var_dump(is_null($abc));//返回true Notice: Undefined variable

 

php中null和false相等吗。注意:以上两种情况,在PHP5.6中测试返回结果是true,但出现了错误通知!


$ok = null;
var_dump(is_null($abc));//返回true


//如何检测一个变量是否被声明且被赋值了 null ??

 1 function checkNull($a)
 2 {
 3 if(array_key_exists($a,$GLOBALS))
 4 {
 5 global $$a;
 6 if(is_null($$a))
 7 return true;
 8 }
 9 return false;
10 }
11 $test=null;
12 var_dump(checkNull("test"));//true
13 var_dump(checkNull("test1"));//false

 

转载于:https://www.cnblogs.com/trNote/p/7298623.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/69268.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息