2013-05-14 2 views
0
이 코드

비디오 ID를, 배열이 제로 항목

편집이

있다 : 이것은 배열로 개인 아닌 각 비디오를 넣어해야 지금

$eigenesVideoId = array(); 
$eigenesVideoTitel = array(); 
$eigenesVideoTags = array(); 
$counter = 0; 
function printEntireFeed($videoFeed, $counter) 
{ 
global $eigenesVideoId; 
global $eigenesVideoTitel; 
global $eigenesVideoTags; 
global $counter; 
foreach($videoFeed as $videoEntry) 
{ 
    if ($videoEntry->isVideoPrivate() != "1") 
    { 
    $eigenesVideoId[$counter] = $videoEntry->getVideoId(); 
    $eigenesVideoTitel[$counter] = $videoEntry->getVideoTitle(); 
    $eigenesVideoTags[$counter] = implode(",", $videoEntry->getVideoTags()); 
    $counter++; 
    } 
} 

try 
{ 
    $videoFeed = $videoFeed->getNextFeed(); 
} 
catch (Zend_Gdata_App_Exception $e) 
{ 
    return; 
} 

if ($videoFeed) { 
    printEntireFeed($videoFeed, $counter); 
} 
} 

printEntireFeed($videoFeed, 1); 

echo count($eigenesVideoId); 

작동합니다. 그러나 배열은 항상 비어 있고 count는 항상 0입니다.

이 재귀 함수 (또는 외부 배열 변수)를 변경하여 배열을 채우고 이후에 액세스 할 수있게하는 방법.

답변

1

$ videoFeed-> getNextFeed()를 사용하려면 먼저 처음으로 피드가 있어야한다고 생각합니다.

또한 함수 내부에서 배열 변수를 채우고 있습니다. 그러나 함수 외부에서 변수를 사용하려면 함수 내부에서 변수를 선언해야합니다. 그렇지 않으면 LOCAL입니다. (또는 REFERENCE로 전달하거나 함수의 끝에서 RETURN 변수를 사용하여 각 호출 후에 캡처하십시오.)

+0

GLOBAL이 추가되었습니다. 나는 메인 포스트를 편집했다. –