我试图访问这个对象$ 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.
}
}
}
答案 0 :(得分:0)
你展示的foreach正常使用数组。所以要访问你需要使用的项目是[] 在foreach中,$ number是关键,$ hotel是数组中的项目。
因此,要访问酒店,您需要$ result [$ number]