2013-03-23 4 views
0

제목에 대해 미리 사과하지만 질문하는 방법조차 모릅니다.배열의 요소를 동적으로 정의하기

저는 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) {} 

답변

1

가장 쉬운 일을하게하는 것입니다 피드 유형에 조건 경우 :

$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

+0

나는 그 질문을 진짜로 잘 생각하지는 않았지만, 당신의 대답은 그것을 어떻게 해결할 수있는 아이디어를주었습니다. – TDave00

0

$ 피드가 이미, 그래서 여기에 정의 된 내가 한 일이다.

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

yes .. 아니면 더 짧다 : foreach ($ json_output-> data-> items from $ data) {if ($ feed! = 1) {$ data = $ data-> video;}}' – bitWorking

관련 문제