PHP对象转换为int

时间:2017-09-01 21:08:52

标签: php

我有以下产生&#34的错误;类cField的对象无法转换为int:\ notesinfo.php
为了排除故障,我已将&& $this->trans_id > 0 ){放在它自己的行上,这是错误中指示的行。

//Red row
elseif ($this->followup_date->CurrentValue < date('m/d/Y')
&& $this->trans_id > 0 ){
    $this->RowAttrs["style"] = "background-color:#fe1f1f";
}

2 个答案:

答案 0 :(得分:0)

我能够通过这个例子重建你的问题:

<?php

class MyValue
{
    private $value = 42;

    public function __toString()
    {
        return (string) $this->value;
    }
}

$instance = new MyValue();

if ((int) (string) $instance === 42) {
    var_dump('Here we go');
}

为了使其有效,我添加了__toString方法。当我将对象与数字进行比较时,我首先将其转换为字符串然后再转换为整数。

这是另一篇文章,它有同样的问题:Is there an integer equivalent of __toString()

答案 1 :(得分:0)

我最终只是替换

$ this-&gt; trans_id&gt; 0

$ this-&gt; trans_id-&gt; CurrentValue&gt; 0

并解决了。