2011-05-19 33 views
0

給for循環一個空的$ movies數組會產生警告。檢查null可以避免這種情況。不是我認爲這是醜陋或混亂的代碼,我只是想知道是否有更好的方法來處理這些實例。優雅的PHP變量

function get_db_movies($db_handle) { 
    $query = "SELECT title FROM movies"; 
    $result = $db_handle->query($query); 
    $movies = null; 
    while($row = mysql_fetch_array($result)){ 
     $movie = new Movie($row['title'], $db_handle); 
     $movies[] = $movie; 
    } 
    return $movies; 
} 

$movies = get_db_movies($db_handle); 

foreach($movies as $movie) { 
    $imdbCrawl = new imdbCrawler($movie); 
    if($imdbCrawl->verifyMatch() && $imdbCrawl->isMovieFound()) { 
     $imdbCrawl->getRating(); 
     $imdbCrawl->getPlot(); 
     $movie->syncDatabase(); 
    } else { 
     echo "Movie crawl failed: " . $movie->getTitle(); 
    } 
} 
+0

雍容華貴是主觀的。 – 2011-05-19 08:29:40

+0

@Salman優雅不是一個字:) – 2011-05-19 08:36:40

+0

我個人認爲在Movie構造函數中傳遞'$ db_handle'的方式沒有那麼優雅。我會在'syncDatabase()'和其他需要它的方法中傳遞它。但是,沒有看到你的代碼的其餘部分,很難說。 – Zecc 2011-05-19 08:51:59

回答

10

初始化$電影爲空數組,而不是空:

$movies = array(); 
3

您可以初始化在使用前一個數組來避免該警告:

$movies = array();