我正在尝试$results访问此对象,但我无法弄清楚为什么第一个回显和print_r给了我预期的输出,但最后一个回显给了我错误"未定义的属性"。
foreach($results as $number => $hotel){
echo $number;
print_r($hotel);
echo $results->{$number};
}
-----------------------------------更好的解释---------------------------------
我注意到您需要一些其他信息来帮助我,因此:
$results 是一个包含查询结果的对象:它包含酒店(对象)的 LIS,并且每个酒店都由一些字段描述 ->值。为了修改此对象(从对象$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.
}
}
}
您显示的 foreach 是数组的正常使用。因此,要访问这些项目,您需要使用 [] 的良好运算符在 foreach 中,$number是键,$hotel是数组中的项目。
所以要进入酒店,你需要$result[$number]