0

假设我有一个函数,它返回一个对象,其中一个参数设置为某个特定值:

public function search($jobsdone, $date)
{
    foreach ($jobsdone as $jd) {
        if ($jd->date_worked == $date) return $jd;
    }
}

打印 search($jobsdone, $key) 会产生这样的结果:

object(JobDone)#378 (19) {
  ...
  ["attributes":protected]=>
  array(9) {
    ["id"]=>
    int(3593)
    ["user_id"]=>
    int(13)
    ["object_id"]=>
    int(99)
    ["job_id"]=>
    int(130)
    ["date_worked"]=>
    string(10) "2013-10-01"
    ["min_from"]=>
    int(780)
    ["min_to"]=>
    int(1080)
  }
  ...
}

但是,如果我想打印 search($jobsdone, $key)->id,我得到的只是一条错误消息:

Trying to get property of non-object

我在这里能错过什么?

4

1 回答 1

1

您的search函数并不总是返回一个对象。因此,Trying to get property of non-object每当您的搜索找不到$jobdone对象时,就会出现错误。

于 2013-11-10T21:23:22.543 回答