下面是一段代码:
<?php
include 'connection.php'; //$db is declared here. It's a PDO object.
foreach ($db->query("SELECT * FROM names") as $row) {
echo $row['firstname'] . $row['lastname'] . $row['postcode'] . '<br>';
}
?>代码按预期工作,但我不理解其背后的逻辑。
我在php.net上读到PDO::query()返回一个PDOStatement对象作为结果集。因此,从理论上讲,这部分:$db->query("SELECT * FROM names")是一个PDOStatement对象。
foreach如何遍历PDOStatement对象?它是否将PDOStatement对象转换为关联数组?为什么这个部分不是:$db->query("SELECT * FROM names") as $row给出错误?
https://stackoverflow.com/questions/41426691
复制相似问题