FETCH_ASSOC删除错误数组中的索引

时间:2017-09-18 06:10:41

标签: php arrays

我正在创建一个小型Web应用程序,我在两个阵列上运行 - 一个由simplexml_load_file检索,另一个由查询生成到数据库。我对后者有一点问题 - 我需要创建一个可以通过索引引用的关联数组。为此,我做了类似的事。

$stmt->execute();
$db = $stmt->fetchAll(PDO::FETCH_ASSOC);

因此,数组应如下所示:

Array (
['element'] => value,
)

看起来像这样:

Array (
[0] => Array (
['element'] => value,
)
)

我唯一注意到的是在查询中创建了记录

Array (
[0] => Array (
['element'] => value,
[0] => value
)
)

我的解决方案删除了​​第一个数组中的索引,在此示例中,它将删除行[0] => value,尽管主索引将保留。如何更改此选项以生成完整的关联关联数组?我提到我想显示查询中的所有记录,同样的fetch()可以工作,尽管它会从查询中显示一条记录(最后一条)。

2 个答案:

答案 0 :(得分:1)

尝试更改

$db = $stmt->fetchAll(PDO::FETCH_ASSOC);

$db = $stmt->fetch(PDO::FETCH_ASSOC);

PDOStatement::fetch - 从结果集中获取下一行

While PDOStatement::fetchAll - 返回包含所有结果集行的数组

答案 1 :(得分:0)

0表示第一行。如果您只想处理一行,请使用数组上的当前函数,它将为您提供预期的结果