这两者有什么区别!空($data[';name';])和$data[';name';]!='';在PHP中?

这两者有什么区别!空($data[';name';])和$data[';name';]!='';在PHP中?,php,Php,有人能告诉我PHP中这两个语句的区别吗 if ($data['name'] != '') { ... } 及 当我用第二条语句替换第一条语句时,它修复了未定义的数组元素错误 提前感谢。$data['name']=被称为比较,这就是为什么它被称为比较运算符 empty($data['name']正在检查它是否包含数据 Doc:如果您试图访问一个不存在的变量或数组索引,PHP将用一个通知来警告您这个潜在的输入错误或不正确的逻辑。如果您不知道该变量/索引是否存在并且您正试图精确地检查它,那么可以

有人能告诉我PHP中这两个语句的区别吗

if ($data['name'] != '')
{
  ...
}

当我用第二条语句替换第一条语句时,它修复了未定义的数组元素错误


提前感谢。

$data['name']=被称为比较,这就是为什么它被称为比较运算符

empty($data['name']
正在检查它是否包含数据


Doc:

如果您试图访问一个不存在的变量或数组索引,PHP将用一个
通知来警告您这个潜在的输入错误或不正确的逻辑。如果您不知道该变量/索引是否存在并且您正试图精确地检查它,那么可以使用
empty
来禁止该通知

empty
==false
相同,但在未定义变量/索引的情况下不会发出通知。另请参阅

除此之外,请查看比较表,了解哪些比较会产生哪些差异。
==false
!='
:。如果
$data['name']
包含
“0”
数组()
,则结果将不同。这些将被视为
空(
false
),但它们并不等于
  • empty($data['name']检查变量是否为空。empty是 解释为:“(空字符串)、0(整数)、0.0(浮点)`、“0” (字符串)、NULL、FALSE、array()(空数组)和“$var;”(a 已声明变量,但类中没有值
  • $data['name']!=''仅检查相应的数据是否不是 空字符串

  • 零被认为是空的,因为它是假的,而不仅仅是一个空字符串,正如您在上面检查的那样,这是一个非常简单的解释…
    if (!empty($data['name']))
    {
      ...
    }