PHP中isset()和empty()函数有什么区别?

本篇文章给大家带来的内容是关于PHP中isset()和empty()函数有什么区别?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

很多人只想着高深的技术,却连基础知识储备都不过关!一个简单的问题都能被问的发怵,简直可笑!对!说的就是我自己!接下来会一直坚持做一些简单的知识总结。

1、isset() 的定义

检测变量是否已设置并且非 NULL

  1. <?php
  2. $var = '';
  3. // 结果为 TRUE,所以后边的文本将被打印出来。
  4. if (isset($var)) {
  5. echo "This var is set so I will print.";
  6. }
  7. // 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
  8. // the return value of isset().
  9. $a = "test";
  10. $b = "anothertest";
  11. var_dump(isset($a)); // TRUE
  12. var_dump(isset($a, $b)); // TRUE
  13. unset ($a);
  14. var_dump(isset($a)); // FALSE
  15. var_dump(isset($a, $b)); // FALSE
  16. //phpfensi.com
  17. $foo = NULL;
  18. var_dump(isset($foo)); // FALSE
  19. ?>

结果:

  1. This var is set so I will print.bool(true)
  2. bool(true)
  3. bool(false)
  4. bool(false)
  5. bool(false)

2、empty() 的定义

==检查一个变量是否为空==

以下的东西被认为是空的:

"" (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

"0" (作为字符串的0)

NULL

FALSE

array() (一个空数组)

$var; (一个声明了,但是没有值的变量)

3、isset() 和 empty()的比较

  1. $var = 0;
  2. if (emptyempty($var)) {
  3. echo 1;
  4. }//1
  5. if (isset($var)) {
  6. echo 2;
  7. }//1

4、 0、‘’、null之间相等关系

  1. if('' == null && '' == 0 && null == 0 && 0 =='0')
  2. echo true;
  3. //返回结果 1;
  4. if('' == '0' || null == '0' )
  5. echo true;
  6. //返回结果 untitled;

结论:==' ' ,null , 0 ,'0'互相相等;'',null不等于'0'==