php - 将 MySQL 查询结果存储在关联数组中

标签 php arrays

假设我有一个 MySQL 表,用户,像这样 -

-----------------------------------------
ID      | FirstName    | LastName
-----------------------------------------
1       | ABC          | XYZ
2       | DEF          | LMN
3       | GHI          | PQR
-----------------------------------------

我可以使用简单的 MySQL 查询来获取结果,例如

SELECT ID, FirstName, LastName FROM Users

现在我正在寻找的是以关联数组形式存储查询结果。结构会是这样的 -

Array
(
[ID] => Array
(
[0] => FirstName
[1] => LastName
)
)

所以上面的查询结果应该存储在这样的数组中 -

Array
(
  [1] => Array
  (
  [0] => ABC
  [1] => XYZ
  )
  [2] => Array
  (
  [0] => DEF
  [1] => LMN
  )
  [3] => Array
  (
  [0] => GHI
  [1] => PQR
  )
)

我了解 array_push。但我想知道是否需要使用它。怎样才能得到这个结果呢?

最佳答案

$result = mysql_query('SELECT ID, FirstName, LastName FROM Users');

$data = array();
while ($row = mysql_fetch_assoc($result)) {
  $id = array_shift($row); // Shifts first element
  $data[$id] = $row; 
}

您可以在较短的版本中使用$data[array_shift($row)] = $row;

关于php - 将 MySQL 查询结果存储在关联数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9923069/

相关文章:

PHP Echo char 变量错误

php - CENTOS 6.9 php soap 扩展已安装但无法正常工作

php - 禁用 iframe 的基本身份验证

php - 复选框未显示为已选中

Java ArrayList 集合排序

javascript - Internet Explorer 上 Array.from 的替代方案或 polyfill

php - 使用 MAMP 和 php 脚本发送电子邮件

arrays - 拆分函数不创建数组()

python - 将低维 numpy 数组的部分提取到高维数组的最终轴中

python - 在感知器学习模型的 Python 实现中将数组传递给 numpy.dot()