比较类型:0是否为空?

时间:2014-12-02 21:33:06

标签: php

我发现在比较类型时,php很敏感,特别是在0时,因为它被认为是假的,因此(我认为)是空的。

包含0的变量是否为空?

我在php中编写了一个带有stdClass的类,并且能够以不同的方式操作它,如编辑,复制数组,删除等。我不知道stdClass是如何组成的。在类中,我有一个方法,它将地址带到stdClass中的属性,并将属性值更改为新值,并且必须将属性值与末尾的新值进行比较。用户通过选择数组键在浏览器中输入或选择大多数值。密钥可以是数字或文本。

在我的方法中:

if (empty($address) || empty($new_value)){
        $this->last_error = "Unknown error";
        return false;
    }
当值为0时,

empty($ new_value)不起作用。在这种情况下,0是数组键。有没有办法让这项工作适用于所有可能的情况。

在最后的某个地方,我有:

if ($new_value==$this->get_property ($address)) { return true; } else { return false; }

我认为php看到的是:if(0 == 0){}这是真的吗?

当属性设置为零时,这不起作用。

0 个答案:

没有答案