PHP 按行获取 MySQL 数据库作为关联数组

标签 php mysql arrays

我有一个简单的 mySQL 数据库表,正在将其加载到 PHP 数组中。我希望 mySQL 表的 id 列(自动递增,但我认为这不相关)作为 PHP 数组每个元素的数组键,而不是数组数字。

而不是这个:

Array(
  Array(id=>'1', field1=>someval, field2=>val),
  Array(id=>'2', field1=>val, field2=>otherval),
  Array(id=>'4', field1=>val, field2=>otherval)
)

我想要这个:

Array(
  1=>Array(field1=>someval, field2=>val),
  2=>Array(field1=>val, field2=>otherval),
  4=>Array(field1=>val, field2=>otherval)
)

我不关心 id 是否保留在每行的关联数组中。

有没有办法在不循环原始 mySQL 数组并占用大量处理时间的情况下执行此操作?

最佳答案

您可以在获取时执行此操作,如下所示:

$query_ret = mysql_query(...);
$result = array();
while ($row = mysql_fetch_assoc($query_ret)) {
    $result[array_shift($row)] = $row;
}

关于PHP 按行获取 MySQL 数据库作为关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7844094/

相关文章:

此 PHP 版本不支持 PHP openssl_sign() ecparam key 类型

php - 在 facebook 的世界里,rsrc.php 是什么?

php - 自定义分类法未在 Post Gutenberg 编辑器中显示

c++ - 无法理解指向固定大小数组的指针

php - 在 mysqli 准备语句中循环时

PHP 代理 - 基本说明

php - 试图在我的 "Edit form"中显示上传的图片

MySQL max_allowed_pa​​cket 参数有什么问题?

php - 通知栏 : Am I going the right way? 的 Node.js 和 socket.io

javascript - 如何在 Javascript 中合并和过滤两个对象数组?