我正在做一个教程,无论是谁编写它都会继续使用像
这样的代码if (empty($_POST) === false)
为什么不使用
if(!empty($_POST))
这是否有理由让我失踪?使用第一种方法而不是第二种方法似乎不必要地混淆。
谢谢!
答案 0 :(得分:2)
===强制进行类型检查。
例如
if(false == 0)//evaluates to true
if(false === 0)//evaluates to false
在上面的示例中,只需要执行!empty()与执行==相同(好吧,技术上!=)
那我们该怎么解释呢? 0可以表示值0或false,因为传统上0位表示false(1表示true,尽管现在任何非0都被认为是真的)。使用动态类型语言(如PHP)遇到的问题是没有对两个参数进行隐式类型检查,因此您可以将布尔值与数字进行比较,并在应该为假的情况下获得真实结果。
PHP中的strpos()函数是一个很重要的例子
答案 1 :(得分:1)
考虑到empty返回boolean
,它确实没有任何区别。听起来有人只是过于完整。
答案 2 :(得分:0)
你可以使用
if ($_POST) { ...
但这没什么意义。
如果要从_POST
中提取内容,请检查是否存在特定密钥。只知道post is not empty
根本没有帮助。