赋予for循环的空$ movies数组将产生警告。检查null可以避免这种情况。并不是说我认为这是丑陋或混乱的代码,我只想知道是否有更优雅的方法来处理这些实例。
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 :(得分:10)
将$ movies初始化为空数组而不是null:
$movies = array();
答案 1 :(得分:3)
您可以在使用前初始化数组以避免警告:
$movies = array();