我有这段代码
编辑:现在可以使用
$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(),我认为您必须首先拥有初始Feed。
此外,您正在从函数内部填充数组变量;但是要在函数外部使用变量,必须在函数内部声明GLOBAL。否则他们是LOCAL。 (或者将它们作为REFERENCE传递。或者在函数末尾使用RETURN变量并在每次调用后捕获它。)