PHP isset()与empty()的使用区别详解

PHP的isset()函数 一般用来检测变量是否设置

功能:检测变量是否设置

返回值:

不存在 || 存在&&值为NULL -- FALSE

存在&&值不为NULL--TURE

同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

版本:PHP 3, PHP 4, PHP 5

更多说明:

使用 unset() 释放变量之后,它将不再是 isset()。

PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。

检测常量是否已设置可使用 defined() 函数。

PHP的empty()函数 判断值为否为空

功能:检查一个变量是否为空

返回值:

不存在 || 存在&&值为""、0、"0"、NULL、FALSE、array()、var、$var、 没有任何属性的对象--TRUE

其他返回 FALSE

版本:PHP 3, PHP 4, PHP 5

更多说明:

empty()的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。

empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。

检测常量是否已设置可使用 defined() 函数。

例子: empty() 与 isset() 的一个简单比较:

 1 <?php
 2      error_reporting(E_ALL);
 3      echo '<B>未定义$var</b><Br>';
 4      echo "isset测试:<Br>";
 5      if (isset($var)) {
 6          echo '变量$var存在!<Br>';
 7      }
 8      echo "empty测试:<Br>";
 9      if (empty($var)) {
10          echo '变量$var的值为空<Br>';
11      } else {
12          echo '变量$var的值不为空<Br>';
13      }
14      echo "变量直接测试:<Br>";
15      if ($var) {
16          echo '变量$var存在!<Br>';
17      } else {
18          echo '变量$var不存在!<Br>';
19      }
20      echo '----------------------------------<br>';
21      echo '<B>$var = \'\'</b><Br>';
22      echo "isset测试:<Br>";
23      $var = '';
24      if (isset($var)) {
25          echo '变量$var存在!<Br>';
26      }
27      echo "empty测试:<Br>";
28      if (empty($var)) {
29          echo '变量$var的值为空<Br>';
30      } else {
31          echo '变量$var的值不为空<Br>';
32      }
33      echo "变量直接测试:<Br>";
34      if ($var) {
35          echo '变量$var存在!<Br>';
36      } else {
37          echo '变量$var不存在!<Br>';
38      }
39      echo '----------------------------------<br>';
40      echo '<B>$var = 0</b><Br>';
41      echo 'isset测试:<Br>';
42      $var = 0;
43      if (isset($var)) {
44          echo '变量$var存在!<Br>';
45      }
46      echo "empty测试:<Br>";
47      if (empty($var)) {
48          echo '变量$var的值为空<Br>';
49      } else {
50          echo '变量$var的值不为空<Br>';
51      }
52      echo "变量直接测试:<Br>";
53      if ($var) {
54          echo '变量$var存在!<Br>';
55      } else {
56          echo '变量$var不存在!<Br>';
57      }
58      echo '----------------------------------<br>';
59      echo '<B>$var = null</b><Br>';
60      echo 'isset测试:<Br>';
61      $var = null;
62      if (isset($var)) {
63          echo '变量$var存在!<Br>';
64      }
65      echo "empty测试:<Br>";
66      if (empty($var)) {
67          echo '变量$var的值为空<Br>';
68      } else {
69          echo '变量$var的值不为空<Br>';
70      }
71      echo "变量直接测试:<Br>";
72      if ($var) {
73          echo '变量$var存在!<Br>';
74      } else {
75          echo '变量$var不存在!<Br>';
76      }
77      echo '----------------------------------<br>';
78      echo '<B>$var ="php"</b><Br>';
79      echo 'isset测试:<Br>';
80      $var = "php";
81      if (isset($var)) {
82          echo '变量$var存在!<Br>';
83      }
84      echo "empty测试:<Br>";
85      if (empty($var)) {
86          echo '变量$var的值为空<Br>';
87      } else {
88          echo '变量$var的值不为空<Br>';
89      }
90      echo "变量直接测试:<Br>";
91      if ($var) {
92          echo '变量$var存在!<Br>';
93      } else {
94          echo '变量$var不存在!<Br>';
95      }
96 ?>

猜你喜欢

转载自www.cnblogs.com/flypea93/p/9207986.html
今日推荐