我有以下多维数组
if($this->conn->row_count($sql)==true){
while($row=$statement->fetch()){
$problems[]=[
'order_id'=>$row['order_id'],
'details'=>['remark'=>$row['remark'],'date'=>$row['date']]
];
}
return $problems;
}
然后我把它打印出来
echo '<pre>',print_r($problems),'</pre>';
结果
Array
(
[0] => Array
(
[order_id] => 4683
[details] => Array
(
[remark] => happy
[date] => 2018-06-09---10:16:41am
)
)
[1] => Array
(
[order_id] => 4683
[details] => Array
(
[remark] => unhappy
[date] => 2018-06-10---03:29:00am
)
)
[2] => Array
(
[order_id] => 4440
[details] => Array
(
[remark] => very unhappy
[date] => 2018-06-10---03:34:00am
)
)
)
如果相同的order_id,我试图将它们分组为一个新的多维数组,并加入详细信息。order_id可以有2个以上,因为关于order_id的注释可能更多*如下所示
Array
(
[0] => Array
(
[order_id] => 4683
[details] => Array
(
[remark] => happy
[date] => 2018-06-09---10:16:41am
),
(
[remark] => unhappy
[date] => 2018-06-10---03:29:00am
)
)
[1] => Array
(
[order_id] => 4440
[details] => Array
(
[remark] => very unhappy
[date] => 2018-06-10---03:34:00am
)
)
)
要获得更清晰的图片,请查看屏幕截图
知道如何像Output一样创建一个新数组吗?
您可以按关联数组对其进行分组。您可以用于array_values
将关联数组转换为简单数组。
$problems = [];
if($this->conn->row_count($sql)==true){
while($row=$statement->fetch()){
if ( !isset( $problems[ $row['order_id'] ] ) ) {
$problems[ $row['order_id'] ] = [
'order_id' => $row['order_id'],
'details' => []
];
}
$problems[ $row['order_id'] ]['details'][] = ['remark'=>$row['remark'],'date'=>$row['date']];
}
return array_values( $problems );
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句