PHP对象未定义属性
我正在尝试访问这个对象$results,我不明白为什么第一个echo和print\r会给我预期的输出,但是最后一个echo会给我错误“Undefined property” -----------------------------------更好的解释--------------------------------- 我注意到您需要一些其他信息来帮助我,因此: $results是一个包含查询结果的对象:它包含一个酒店(对象)列表,每个酒店(对象)都由一些字段->值来描述。 为了修改这个对象(从对象$results中删除一个hotel),我正在寻找引用对象$results项的方法,我认为方法是$results->{$number} 所以我真正想做的是:PHP对象未定义属性,php,object,Php,Object,我正在尝试访问这个对象$results,我不明白为什么第一个echo和print\r会给我预期的输出,但是最后一个echo会给我错误“Undefined property” -----------------------------------更好的解释--------------------------------- 我注意到您需要一些其他信息来帮助我,因此: $results是一个包含查询结果的对象:它包含一个酒店(对象)列表,每个酒店(对象)都由一些字段->值来描述。 为了修改这个对象(从
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]您可以调试第三个“对象”。请尝试使用
$results[$number]
。您使用的是foreach,这可能意味着您使用的是数组。您不需要回显作为对象的打印。\r什么是$results
?为什么在使用foreach后回显$results属性?这毫无意义?你到底想要什么?
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.
}
}
}