PHP中isset()和empty()函数有什么区别?
本篇文章给大家带来的内容是关于PHP中isset()和empty()函数有什么区别?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
很多人只想着高深的技术,却连基础知识储备都不过关!一个简单的问题都能被问的发怵,简直可笑!对!说的就是我自己!接下来会一直坚持做一些简单的知识总结。
1、isset() 的定义
检测变量是否已设置并且非 NULL
- <?php
- $var = '';
- // 结果为 TRUE,所以后边的文本将被打印出来。
- if (isset($var)) {
- echo "This var is set so I will print.";
- }
- // 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
- // the return value of isset().
- $a = "test";
- $b = "anothertest";
- var_dump(isset($a)); // TRUE
- var_dump(isset($a, $b)); // TRUE
- unset ($a);
- var_dump(isset($a)); // FALSE
- var_dump(isset($a, $b)); // FALSE
- //phpfensi.com
- $foo = NULL;
- var_dump(isset($foo)); // FALSE
- ?>
结果:
- This var is set so I will print.bool(true)
- bool(true)
- bool(false)
- bool(false)
- bool(false)
2、empty() 的定义
==检查一个变量是否为空==
以下的东西被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)
3、isset() 和 empty()的比较
- $var = 0;
- if (emptyempty($var)) {
- echo 1;
- }//1
- if (isset($var)) {
- echo 2;
- }//1
4、 0、‘’、null之间相等关系
- if('' == null && '' == 0 && null == 0 && 0 =='0')
- echo true;
- //返回结果 1;
- if('' == '0' || null == '0' )
- echo true;
- //返回结果 untitled;
结论:==' ' ,null , 0 ,'0'互相相等;'',null不等于'0'==