0

我有这个代码

编辑:这现在有效

$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);

应该将每个不是私有的视频放入一个数组中。但数组始终为空,计数始终为零。

如何更改此递归函数(或外部数组变量)以填充数组并在之后访问它们。

4

1 回答 1

1

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

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

于 2013-05-14T13:20:15.597 回答