PHP多维数组,每个数字作为数组中的一个数组

PHP多维数组,每个数字作为数组中的一个数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个包含以下信息的数据库: | ID | Name | Number | +----+------+--------+ | 1 | aaa | 1 | | 2 | bbb | 1 | | 3 | ccc | 2 | | 4 | ddd | 2 | 等等 我要做的是这样一个数组: $array[1] = array ('aaa','bbb'); $array[2] = a

我有一个包含以下信息的数据库:

    | ID | Name | Number |
    +----+------+--------+ 
    | 1  |  aaa |   1    |
    | 2  |  bbb |   1    |
    | 3  |  ccc |   2    |
    | 4  |  ddd |   2    |
等等

我要做的是这样一个数组:

    $array[1] = array ('aaa','bbb');
    $array[2] = array ('ccc','ddd');
等等

我如何通过循环实现这一点

到目前为止,我得到的是:

while ($array = $query_res->fetch_assoc()) {
     $final_array[$array['Number']] = array ($array['Name']);
}
print_r($final_array);
这不管用。我想我应该使用
array\u merge
,但不知道如何那么:

while ($array = $query_res->fetch_assoc()) {
     $final_array[$array['Number']][] = $array['Name'];
}

您需要检查是否存在具有键的元素,如果存在,请将新值推入数组,如果不存在,请创建新数组:

while ($array = $query_res->fetch_assoc()) {
     if(isset($final_array[$array['Number']]){
         $final_array[$array['Number']][] = $array['Name'];
     }else{
         $final_array[$array['Number']] = array ($array['Name']);
     }
}
print_r($final_array);

如果$array确实是一个数组,则包含键ID、编号和名称

   $final_array = array();
   while ($array = $query_res->fetch_assoc()) {
       $final_array[$array['Number']][] = array ($array['Name']);
   }
然后打印

将查询更改为

SELECT `Number`, GROUP_CONCAT(DISTINCT(`Name`)) as `Name` FROM `table`
您将得到如下响应:

编号=1,名称=aaa,bbb 编号=2,名称=ccc,ddd

然后做一些类似的事情

while ($array = $query_res->fetch_assoc()) {
     $final_array[$array['Number']] = explode(',' $array['Name']);
}
print_r($final_array);