PHP-转换为false的空值


PHP - Empty value that converts to false

在逻辑层面上,我认为空是一种检查变量是否为空的构造。

这意味着imo(同样,在逻辑层面上),这是有意义的:

if (!empty($a) && $a) {/* do something */}

不过。。。我找不到第二张支票($a是真的)在"现实世界"中有任何意义的情况。

所以。。。有以下情况是真的吗(就我个人而言,我找不到)?

(!empty($a) && $a) != (empty($a))

我想这纯粹是一个假设,如果不是,请提供一些上下文。

为了回答您的问题,如果放入条件中,$a将被简单地解析为布尔值。empty()将检查一个值是否可以被视为空。所以本质上你是在问一个值是否可能被解析为FALSE而不是empty(),或者一个值被解析为TRUE并被认为是empty(()?

如果比较boolean和empty()的手册页,您可以看到几乎相同的重叠。

答案是:不,你的情况永远不会是真的!空($a)&amp$简单来说,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 */
}

它可能会对你有所帮助。