代码之家  ›  专栏  ›  技术社区  ›  O Connor

正在检查!空()函数足以防止PHP 7+中的通知和警告消息?[副本]

  •  0
  • O Connor  · 技术社区  · 6 年前

    我不明白 isset() !empty() .

    因为如果一个变量被设置了,它不等于不为空吗?

    0 回复  |  直到 8 年前
        1
  •  48
  •   Michael    8 年前

    伊塞特 检查变量是否已设置。换言之,它检查变量是否为空值或未赋值之外的任何值。 ISSET 回报 TRUE 如果变量存在且具有除NULL之外的值。这意味着赋值为“,”0,“0”或FALSE的变量被设置,因此 真的 对于 伊塞特 .

    空的 检查变量是否为空。空的解释为:“(空字符串)、0(整数)、0.0(浮点)`、“0”(字符串)、NULL、FALSE、array()(空数组)和“$var;”(声明的变量,但类中没有值)。

    有关详细信息,请参见 this article

        2
  •  16
  •   Black Mamba    8 年前

    Source :http://php.net/manual/en/types.comparisons.php 此页显示 empty() , is_null() , isset() .

    The picture showing complete comparison here

        3
  •  4
  •   Prashant16    11 年前

    类型比较表给出了关于这些运算符的所有问题的答案

    http://php.net/manual/en/types.comparisons.php

        4
  •  0
  •   user3102083    11 年前

    isset 确定变量是否已设置且不为空。

    !empty 确定变量是否不为空。

        5
  •  0
  •   joy    11 年前

    如果未设置变量,则Isset返回false;如果已设置变量,则Isset返回null;如果未设置变量,则Isset返回true。

    !如果变量已设置且不为空,则返回true。空字符串、空数组、“0”、0和false被定义为空。

        6
  •  0
  •   Andrey P.    7 年前

    还有一句话。 empty() 检查变量是否存在。一、 e.如果我们表演 空() 对于未声明的变量,我们不会收到错误, 空() 返回“true”。因此我们可以避免 isset() 如果下一步我们需要检查变量是否为空。

    所以

    isset($var) && !empty($var)
    

    将等于

    !empty($var)