当前位置: 首页 > 编程笔记 >

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

蓝慈
2023-03-14
本文向大家介绍为什么要在PHP中同时检查isset()和!empty()函数?,包括了为什么要在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。

注意:

以下值被认为是空的:

    list-paddingleft-2">
  • “”(空字符串)

  • 0(0为整数)

  • 0.0(0为浮点数)

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

  • 空值

  • array()(一个空数组)


 类似资料:
  • 问题内容: 有没有之间的差异和。如果我进行双重布尔检查,这种方法是正确的还是多余的?有没有更短的方法来做同样的事情? 问题答案: 这是完全多余的。或多或少简写,并且是类似于。即做相反的事情,再加上一个额外的检查值的 真实性 。 换句话说,与相同,但是如果变量不存在,则不会发出警告。这就是该函数的重点:进行布尔比较,而不必担心设置变量。 手册说得像这样: 与的相反, 只是未设置变量时不生成警告。 您

  • 本文向大家介绍PHP中检查isset()和!empty()函数的必要性,包括了PHP中检查isset()和!empty()函数的必要性的使用技巧和注意事项,需要的朋友参考一下 isset()函数是PHP中的内置函数,它检查变量是否已设置且不为NULL。此函数还检查声明的变量,数组或数组键是否具有空值,如果是,isset()返回false,它在所有其他可能的情况下返回true。 语法: 参数:此函数

  • 问题内容: 我不明白之间的差别和。 因为如果设置了变量,它是否等于不为空? 问题答案: ISSET 检查变量以查看是否已设置。换句话说,它检查变量是否为除NULL以外的任何值或未分配值。返回该变量是否存在并且具有非NULL的值。这意味着设置了分配了“”,0,“ 0”或FALSE的变量,因此它们是for的。 EMPTY 检查变量是否为空。空解释为:“”(一个空字符串),0(整数),0.0(浮点数),

  • 问题内容: 您能否帮助我改善编码风格?:)在某些任务中,我需要检查-变量为空还是包含某些内容。为了解决此任务,我通常执行以下操作。 检查-是否设置了此变量?如果已设置-我检查-它是否为空? 我有一个问题-我应该在empty()之前使用isset()吗-有必要吗?TIA! 问题答案: 这取决于您要查找的内容,如果您只是想查看它是否为空,那么只需使用它即可检查它是否也已设置,是否想知道是否已设置了某些

  • 本文向大家介绍深入理解PHP中的empty和isset函数,包括了深入理解PHP中的empty和isset函数的使用技巧和注意事项,需要的朋友参考一下 近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究。经过分析可发现两个函数调用的都是同一个函数,因此本文将对两个函数一起分析。 我在github有

  • 问题内容: 我有几个较旧的应用程序,它们在E_NOTICE错误级别上运行时会抛出很多“ xyz未定义”和“未定义偏移”消息,因为没有使用和明确检查变量的存在。 我正在考虑通过它们使它们与E_NOTICE兼容,因为有关丢失变量或偏移量的通知可能会节省生命,可能会获得一些较小的性能改进,并且总体而言,这是一种更清洁的方法。 但是,我不喜欢什么造成数百 和S ^确实给我的代码。它变得肿,可读性降低,而没