我事先为标题道歉,但甚至不确定如何提问。
我正在使用来自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) {}
答案 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;}