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);