foreach($scraperSites as $site) {
//$scraperWriter->addSite( new ScraperSite($site) );
print_r($site);
}
scraperSites是mySQL数据库中所有站点的数组;我正在尝试将$ site保留为数组(但只有一行数据),将其添加到对象中,然后转到下一行。
答案 0 :(得分:1)
在查看您的代码后,我认为这是您的问题:
public static function getScrapedSites($db) {
$query = "select * from sites";
$result = $db->query($query);
$scrapedSites = $result->fetch_assoc();
return $scrapedSites;
}
我相信这将总是返回一行。您需要使用fetch_assoc()
循环结果并将结果附加到数组。
public static function getScrapedSites($db) {
$query = "select * from sites";
$result = $db->query($query);
$scrapedSites = array();
foreach($result->fetch_assoc() as $site) {
$scrapedSites[] = $site;
}
return $scrapedSites;
}
你说$site
在你的例子中输出了一个字符串。这是因为您的foreach
循环正在迭代关联数组中的db字段。