在数组循环中使用描述性键

时间:2012-07-20 11:19:06

标签: php arrays

想象一下,你必须查询数据库才能检索一些数据(在这个例子中名称和年龄):

while ($submission = db_fetch_array($submissions)) {
  $data[] = $submission['data'];
}

因此,$ data数组的结果转储类似于:

Array
(
  [0] = "John"
  [1] = "33"
)

如果我想形成描述性密钥,结果代码将为:

while ($submission = db_fetch_array($submissions)) {
  $data[] = $submission['data'];
}

$data['name'] = $data[0];
$data['age'] = $data[1];

现在,如果我的数组中只有两个字段而不是10个或更多字段,那么这在我看来有点多余。

有更合理的方法吗?

注意:db_fetch_array它是一个drupal抽象,以便将查询作为数组提取

1 个答案:

答案 0 :(得分:1)

现在不要,db_*()应该是什么,但我建议直接从数据库中获取关联数组

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  $data[] = $row;
}

这会生成一组关联数组,其中内部关联数组的键是列的名称。

http://php.net/pdostatement.fetch