在逻辑层面上,我认为空是一个检查变量是否为空的构造。
这意味着imo(再次,在逻辑层面),这是有道理的:
if (!empty($a) && $a) {/* do something */}
仍然......我找不到任何第二次检查($ a为真)在“现实世界”中有意义的情况。
所以...是否有以下情况属实(个人我找不到)?
(!empty($a) && $a) != (empty($a))
答案 0 :(得分:3)
我想这是一个纯粹的假设,如果不是请提供一些背景。
要回答你的问题,如果放入条件,则只需将a解析为布尔值。而empty()将检查一个值是否可以被视为空。所以基本上你要问的是,一个值是否可以被解析为FALSE而不是空()或者要解析的值为TRUE并被认为是空的()?
如果您比较boolean和empty()的手册页,您可以看到几乎相同的重叠。
答案:不,你的情况永远不会如此!空($ a)&& $ a是多余的简单!空($ a)
答案 1 :(得分:1)
如果var存在并且具有非空的非零值,则返回FALSE。否则返回TRUE。
以下内容被认为是空的:
“”(空字符串)
0(0为整数)
0.0(0作为浮点数)
“0”(0作为字符串)
NULL
FALSE
array()(一个空数组)
$变种; (声明的变量,但没有值)
答案 2 :(得分:-1)
您可以尝试以下方法: -
if (!empty($a) && ($a != ""))
{
/* do something */
}
第二个选项: -
if (!empty($a) && (count($a) > 0))
{
/* do something */
}
它可能对你有帮助。