Php 需要帮助了解PDO的结果集吗
我有以下函数执行PDO查询:Php 需要帮助了解PDO的结果集吗,php,mysql,pdo,Php,Mysql,Pdo,我有以下函数执行PDO查询: // removed error handling for presenting here function getRows($sql) { $stmt = $this->db->query($sql); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); return $result; } } 结果是: A
// removed error handling for presenting here
function getRows($sql) {
$stmt = $this->db->query($sql);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
}
结果是:
Array
(
[0] => Array
(
[id] => 1
[category] => Audi
)
[1] => Array
(
[id] => 2
[category] => BMW
)
[2] => Array
(
[id] => 3
[category] => Chrysler
)
)
下面的foreach代码:
如果返回以下内容,我可以做什么
Audi
BMW
Chrysler
我知道我可以只做$value['category]
但这不是我想要实现/理解的。我希望结果集不是数组的数组。试试看
foreach($result as $key => $value ) {
echo $value['category'].'<br/>';
}
foreach循环将数组拆分为键、值对。循环中的键是数组的索引,值是包含ID和Category的数组 要访问该类别,只需执行以下操作:
foreach($result as $key => $value ) {
echo $value['category'].'<br/>';
}
我知道,但那不是我想要的。我希望$value是值,而不是数组。@Steven为什么需要这样做???如果某些东西确实有效,那么请更改fetch样式fetchAllPDO::fetch_样式,因为对我来说,它使事情变得简单了一点:但创建自定义的fetch_样式似乎是实现我的目标的唯一方法。我现在正在做你建议的事情。我只是想也许还有别的办法。但我现在明白了:我明白了。查看我的更新。有没有办法避免PDO返回数组数组?请尝试仅选择查询中的类别,而不是id+类别。
foreach($result as $key => $value ) {
echo $value['category'].'<br/>';
}
foreach($result as $k)
{
echo $k['category'];
}
foreach($result as $key => $value ) {
echo $value['category'].'<br/>';
}