我正试图从我的对象中获取一些数据。我的问题是我希望它在这样的foreach循环中完成:
@foreach($event_types as $event_type_key => $event_type_val)
echo $data->Type.''.$event_type_key;
@endforeach
但它不起作用,我收到错误:未定义的属性:stdClass :: $ Type。
在我的对象中,我有类型Type1,Type2,Type3 ......
的数据如果我将代码更改为:
,它就有效@foreach($event_types as $event_type_key => $event_type_val)
echo $data->Type1;
@endforeach
但我希望使用$ event_types数组中的值更改类型计数。
有人能看出我做错了吗?
答案 0 :(得分:1)
简单地
@foreach($event_types as $event_type_key => $event_type_val)
echo $data->{'Type' . $event_type_key};
@endforeach
答案 1 :(得分:0)
您想要动态编写PHP对象属性。
你这样做:
$key = "Type1";
$data->$key;
在你的情况下:
foreach($event_types as $event_type_key => $event_type_val):
$k = 'Type'.$event_type_key;
echo $data->$k;
endforeach
您不应使用@
来抑制错误。它隐藏了错误。