2013-03-23 86 views
0

我爲事先標題道歉,但甚至不知道如何提出問題。動態定義數組中的元素

我正在使用來自youtube feed的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) {} 

回答

1

我能想到的最簡單的事情就是讓一個if條件上的FeedType:

$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) {} 
+0

謝謝。我會給你一個鏡頭。 – TDave00 2013-03-23 01:20:11

+0

我並沒有真正認爲這個問題,但你的回答給了我一個想法如何解決它。 – TDave00 2013-03-23 01:39:40

0

$飼料已經定義,所以這裏是我做的。

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

yes..or甚至更短:'foreach($ json_output-> data-> items as $ data){if($ feed!= 1){$ data = $ data-> video;}}'' – bitWorking 2013-03-23 01:46:31