PHP 对象未定义属性


PHP Object undefined property

我正在尝试$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]