为什么要在PHP中同时检查isset()和!empty()函数?

Php提供了一些神奇的预定义函数来处理实时应用程序中的变量。在本文中,我们将isset()通过很少的示例来研究和!empty()函数以及这两个函数的实现。

isset():

isset()函数是PHP中的预定义函数,它检查变量是否在应用程序中声明并且未分配为NULL。此函数将结果恢复为true或false。

让我们用一个例子测试一下。

<?php
   $var1 = NULL;
   $var2 = 1;
   var_dump(isset($var1));
   var_dump(isset($var2));
?>

输出:

bool(false)
bool(TRUE)

说明:

在上面的示例中,将$var1定义为等于NULL。即$var1 = NULL,当isset()对$var1执行函数时,由于$var1被分配为NULL,因此求值为FALSE。在第二种情况下,$var2定义为等于零1,即$var2 = 1,当isset()在$var2上执行函数时,由于$var1不为null,因此这将评估为TRUE。

如果提供了多个参数,则isset()仅当所有参数都被视为一个集合时,才返回TRUE。评估从左到右,并在遇到未定义/未设置的变量时停止。

让我们用一个例子测试上面的内容。

<?php
   $a = "10";
   $b = "20";
   var_dump(isset($a));
   var_dump(isset($a, $b));
   var_dump(isset($c,$a, $b));
?>

输出:

bool(true)
bool(true)
bool(false)

说明:

在这里,我们声明了$a和$b变量并分配了一些值,即$a =“ 10”和$b =“ 20”,但未定义$c。由于定义了$a,第一个表达式的计算结果为true;由于定义了$a和$b,第二个表达式的计算结果也为true。下一个表达式的计算结果为false,因为未定义$c。

让我们了解一下empty()

empty():

empty()函数确定给定变量是空还是NULL。!empty()函数是该函数的补充empty()。该empty()函数明显等效于!isset()函数,!empty()函数等于isset()function。它将结果显示为TRUE或FALSE。让我们讨论这个例子。

<?php
   $var1 = 0;
   var_dump(empty($var1)) ;
   var_dump(!empty($var1)) ;
?>

输出:

bool(TRUE)
bool(FALSE)

说明:

此处$var1定义为等于0,即$var1 = 0,当我们对其执行empty()函数时,由于将0视为空,因此它将评估为TRUE。但是!empty()函数求值false,它等于isset()函数结果。

要检查两个功能:

isset()只要考虑功能性,和!empty()函数就会产生相同的结果。但是唯一的区别是!empty()函数在变量不存在时不会生成任何警告或E_Notice。

注意:

以下值被认为是空的:

  • “”(空字符串)

  • 0(0为整数)

  • 0.0(0为浮点数)

  • “ 0”(0作为字符串)

  • 空值

  • array()(一个空数组)