动态定义数组中的元素

时间:2013-03-23 01:07:05

标签: php youtube-api

我事先为标题道歉,但甚至不确定如何提问。

我正在使用来自youtube Feed的json数组。播放列表和用户上传的Feed格式略有不同。为了减少我希望根据Feed类型(播放列表/用户上传)定义元素的代码量,并将其插入到我的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)   {}

2 个答案:

答案 0 :(得分:1)

我能想到的最简单的事情就是在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) {}

答案 1 :(得分:0)

已经定义了$ feed,所以这就是我所做的。

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