我有以下代码:
$res = $db->getArticles($db);
$hey = print_r($res, TRUE);
echo $hey['0'];
这是代码$db->getArticles
:
public function getArticles() {
$array = array();
try {
$sth = $this->db->prepare("SELECT * FROM posts ORDER BY id");
$sth->execute();
foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $row) {
$array[] = $row;
}
return $array;
} catch (Exception $e) {
}
}
逻辑是该函数查询数据库并将所有内容放入数组中。表中的行数总是很低,所以性能不是问题。
以下是上面第一个代码片段的输出:
echo $hey['0']; // prints "A" (without the quotes).
echo $hey['1']; // prints "r"
echo $hey['2']; // prints "r"
echo $hey['3']; // prints "a"
echo $hey['4']; // prints "y"
如您所见,它拼出了单词“Array”。
echo $hey
打印以下内容:
Array ( [0] => Array ( [id] => 1 [author] => 0 [content] => This Is a Test [publication_date] => 1380380992 ) )
我的最终目标是将每个单独的值存储到一个变量中并对其进行处理。这一切都发生在一个在数组上运行的 for 循环中,因此我可以从每一行获取信息。
我究竟做错了什么?