foreach($scraperSites as $site) {
//$scraperWriter->addSite( new ScraperSite($site) );
print_r($site);
}
scraperSites是mySQL数据库中所有站点的数组;我试图将$ site保留为数组(但仅包含一行数据),将其添加到对象中,然后移至下一行。
最佳答案
查看您的代码后,我认为这是您的问题:
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字段上进行迭代。