php - 如何从 MySQL 表创建 PHP 数组

标签 php mysql

我有一个 MySQL 表:

-------------------
|type_id|type_name| 
-------------------
|  22   | Toyota  |
|  22   | Mazda   |
|  23   | Volvo   |
|  23   |  Man    |
|  25   | Scania  |
|  25   | Iveco   |
|  25   | Fiat    |
-------------------

根据用户输入动态创建。我想像这样使用 PHP 从表中创建一个数组:

array(
    '22' => array('Toyota', 'Mazda'),
    '23' => array('Volvo', 'Man'),
    '25' => array('Scania', 'Iveco','Fiat'),
);

其中数组 id 将是 type_id,元素将是 type_id 的 type_name。我试过这个:

$results = array();
    while($line = mysqli_fetch_array($result, MYSQL_ASSOC))
    {
    $results[] = $line;
    }   
    print_r($results);

但我得到:

Array ( 
    [0] => Array ( 
            [type_id] => 22 
            [type_name] => Toyota
        ) 
    [1] => Array ( 
            [type_name] => 22 
            [type_name] => Mazda
        )
    ...so on

请帮忙!

最佳答案

您需要稍微更改一下代码,它会正常工作:-

$results = array(); 
while($line = mysqli_fetch_array($result, MYSQL_ASSOC)) { 
  $results[$line['type_id']][] = $line['Type_name'];  //check change here
} 
print_r($results);

注意:- 检查您的列名,如果有任何错误,请更正它们。

关于php - 如何从 MySQL 表创建 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45397552/

相关文章:

PHP设置动态数组索引

php - 使用 PDO 从 PostgreSQL 表中获取结果时出现问题

php - 客户无法在 Safari 中登录 Magento

php - Blueimp 仅选择特定行

php pdo csv 文件写入数据库

php - 数据库 |来自两个表的条​​件查询

php - 在 PHP 中解析无效 HTML 的最佳方法

php - GROUP_CONCAT 多列作为数组或可分解字符串

php mysql插入数据,但是是在while循环中

MySQL 5.7.19 未安装。给出同样的错误