在逻辑层面上,我认为空是一种检查变量是否为空的构造。
这意味着imo(同样,在逻辑层面上),这是有意义的:
if (!empty($a) && $a) {/* do something */}
不过。。。我找不到第二张支票($a是真的)在"现实世界"中有任何意义的情况。
所以。。。有以下情况是真的吗(就我个人而言,我找不到)?
(!empty($a) && $a) != (empty($a))
我想这纯粹是一个假设,如果不是,请提供一些上下文。
为了回答您的问题,如果放入条件中,$a将被简单地解析为布尔值。empty()将检查一个值是否可以被视为空。所以本质上你是在问一个值是否可能被解析为FALSE而不是empty(),或者一个值被解析为TRUE并被认为是empty(()?
如果比较boolean和empty()的手册页,您可以看到几乎相同的重叠。
答案是:不,你的情况永远不会是真的!空($a)&$简单来说,a是多余的!空($a)
"确定变量是否被视为空。如果变量不存在或其值等于FALSE,则视为空。如果该变量不存在,empty()不会生成警告。"
如果var存在并且具有非空的非零值,则返回FALSE。否则返回TRUE。
以下内容被认为是空的:
"(空字符串)
0(0为整数)
0.0(0作为浮动)
"0"(0作为字符串)
空
假
array()(空数组)
$var;(声明的变量,但没有值)
您可以尝试以下操作:-
if (!empty($a) && ($a != ""))
{
/* do something */
}
第二种选择:-
if (!empty($a) && (count($a) > 0))
{
/* do something */
}
它可能会对你有所帮助。