动态定义数组中的元素


Defining elements in an array dynamically

我事先为标题道歉,但我甚至不知道该怎么问这个问题。

我正在从youtube提要的json数组工作。播放列表的提要和用户上传的提要格式略有不同。为了减少代码量,我想根据提要类型(播放列表/用户上传)定义元素,并将其插入foreach语句。

用户上传的foreach语句如下:

foreach ($json_output->data->items as $data)    {}

对于播放列表,它需要看起来像这样:

foreach ($json_output->data->items->video as $data)   {}

我试着事先在一个变量中定义语句,并做了如下的事情,没有运气:

foreach ($json_output.$feedtype as $data)   {}

foreach ($json_output + $feedtype as $data)   {}

我能想到的最简单的方法就是在feedtype上设置一个if条件:

$feedtype = 'uploads'; // or playlist
if ($feedtype == 'uploads') {
    $array = $json_output->data->items;
}
else if ($feedtype == 'playlist') {
    $array = $json_output->data->items->video;
}
foreach ($array as $data) {}

$feed已经定义,下面是我所做的:

foreach ( $json_output->data->items as $feed_data ){
if ($feed == 1) {$data = $feed_data;}
else {$data = $feed_data->video;}