1

配列を返す関数がありますが、代わりに NULL を返します。正しく動作する場合があるため、生成する配列のサイズに関係している可能性があると思います。戻る前に var_dump を実行しようとしましたが、これは常に必要な配列を示していましたが、関数の出力の var_dump は NULL を示しています。

function getAllUploads($videoFeed, $videos = array(), $counter = 1){
    foreach($videoFeed as $videoEntry){
        if($videoEntry->extensionElements[6]->extensionAttributes['permission']['value'] == "allowed"){
            $videos[] = array("videoID" => $videoEntry->getVideoId(), "uploaded" => ytToMySQLDateTime($videoEntry->getPublished()->getText())); //date('Y-m-d H:i:s', $videoEntry->getPublished()->getText())
        }
        $counter++;
    }

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

    if($videoFeed){
        getAllUploads($videoFeed, $videos, $counter);
    }
}
4

1 に答える 1

2

最後のif()ステートメント内で関数を返す必要があります

function getAllUploads($videoFeed, $videos = array(), $counter = 1){
    foreach($videoFeed as $videoEntry){
        if($videoEntry->extensionElements[6]->extensionAttributes['permission']['value'] == "allowed"){
            $videos[] = array("videoID" => $videoEntry->getVideoId(), "uploaded" => ytToMySQLDateTime($videoEntry->getPublished()->getText())); //date('Y-m-d H:i:s', $videoEntry->getPublished()->getText())
        }
        $counter++;
    }

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

    if($videoFeed){
        return getAllUploads($videoFeed, $videos, $counter);
    }
}
于 2013-09-29T21:29:10.030 に答える