我事先为标题道歉,但我甚至不知道该怎么问这个问题。
我正在从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;}