Php 在foreach中获取对象数据
我正试图从我的对象中获取一些数据。我的问题是,我希望它在foreach循环中完成,如下所示:Php 在foreach中获取对象数据,php,object,Php,Object,我正试图从我的对象中获取一些数据。我的问题是,我希望它在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->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\u types数组中的值而改变
有人能看出我做错了什么吗?您想动态编写一个PHP对象属性 你这样做:
$key = "Type1";
$data->$key;
就你而言:
foreach($event_types as $event_type_key => $event_type_val):
$k = 'Type'.$event_type_key;
echo $data->$k;
endforeach
您不应该使用@
来抑制错误。它隐藏了bug。很简单
@foreach($event_types as $event_type_key => $event_type_val)
echo $data->{'Type' . $event_type_key};
@endforeach
可能的重复应该写
“Type”。$event\u Type\u key
,否则PHP会认为它是一个常量。@BartFriederichs谢谢!