PHP - 转换为false的空值

时间:2016-05-05 10:17:31

标签: php

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

这意味着imo(再次,在逻辑层面),这是有道理的:

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

仍然......我找不到任何第二次检查($ a为真)在“现实世界”中有意义的情况。

所以...是否有以下情况属实(个人我找不到)?

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

3 个答案:

答案 0 :(得分:3)

我想这是一个纯粹的假设,如果不是请提供一些背景。

要回答你的问题,如果放入条件,则只需将a解析为布尔值。而empty()将检查一个值是否可以被视为空。所以基本上你要问的是,一个值是否可以被解析为FALSE而不是空()或者要解析的值为TRUE并被认为是空的()?

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

答案:不,你的情况永远不会如此!空($ a)&& $ a是多余的简单!空($ a)

答案 1 :(得分:1)

"Determine whether a variable is considered to be empty. A variable is considered empty if it does not exist or if its value equals FALSE. empty() does not generate a warning if the variable does not exist."

  

如果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 */
}

它可能对你有帮助。