PHP对象未定义属性

时间:2014-11-28 15:25:42

标签: php object

我试图访问这个对象$ results,我无法弄清楚为什么第一个echo和print_r给我预期的输出,但最后一个回显给我错误“Undefined property”。

 foreach($results as $number => $hotel){
     echo $number;
     print_r($hotel);
     echo $results->{$number};
 }

----------------------------------- 更好的解释 --- ------------------------------

我注意到你需要一些其他的信息来帮助我,所以:

$ results是一个包含查询结果的对象:它包含一个酒店(对象)的lis,其中的每个人都被某些字段描述 - > value。 为了修改这个对象(从对象$ results中删除一个酒店)我正在寻找引用对象$ results的项目的方法,我认为方式是$ results-> {$ number}

所以我真正想要的是:

foreach($results as $number => $hotel){
    foreach($hotel as $field => $value) {
        if($field == 'id' && $value == '18'){
            // here I wanna delete the hotel from the object $results
            // but unset($results->{$number}) doesn't work.

        }
    }
}

1 个答案:

答案 0 :(得分:0)

你展示的foreach正常使用数组。所以要访问你需要使用的项目是[] 在foreach中,$ number是关键,$ hotel是数组中的项目。

因此,要访问酒店,您需要$ result [$ number]