我怎样才能改变这个
Array
(
[0] => feed
[1] => entry
)
进入这个:
foreach ($data->feed->entry as $item) { // Yep, we made it }
第一个数组可以包含任意数量的值,因此解决方案需要灵活。
编辑: Dogbert给了我完美的答案,但为了将来更清楚。我所拥有的只是一个阵列。基于此我需要从对象获取数组。所以我的数组也可能是这样的:
[0] => world
[1] => countries
[2] => finland
[3] => helsinki
[4] => people
然后我需要得到:
foreach ($data->world->countries->finland->helsinki->people as $item) {}
答案 0 :(得分:0)
function map_property($obj, $array) {
$ret = $obj;
foreach($array as $prop) {
$ret = $ret->$prop;
}
return $ret;
}
foreach(map_property($data, array('feed', 'entry')) as $item) { }
答案 1 :(得分:0)
如果您需要key =>循环中的值是这样的:
foreach ($data->feed->entry as $key=>$item) {
// Yep, we made it
echo 'This is key:'.$key.' this is item: '.$item;
}
你会得到结果
这是关键:0这是项目:feed这是关键:1这是项目:条目