这两者有什么区别!空($data[';name';])和$data[';name';]!='';在PHP中?
有人能告诉我PHP中这两个语句的区别吗这两者有什么区别!空($data[';name';])和$data[';name';]!='';在PHP中?,php,Php,有人能告诉我PHP中这两个语句的区别吗 if ($data['name'] != '') { ... } 及 当我用第二条语句替换第一条语句时,它修复了未定义的数组元素错误 提前感谢。$data['name']=被称为比较,这就是为什么它被称为比较运算符 empty($data['name']正在检查它是否包含数据 Doc:如果您试图访问一个不存在的变量或数组索引,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']))
{
...
}