视频id到数组,数组没有条目


Video-IDs to array, array has zero entries

我有这样的代码

编辑:现在可以工作了

$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。

如何改变这个递归函数(或外部数组变量),使数组被填充,并且之后可以访问它们

要使用$videoFeed->getNextFeed(),我认为您必须首先有一个初始提要。

另外,您正在从函数内部填充数组变量;但是要使用函数外部的变量,必须在函数内部声明它们为GLOBAL。否则它们是LOCAL的。(或者将它们作为REFERENCE传递。或者在函数末尾使用RETURN变量,并在每次调用后捕获它。