我想创建一个新的数组,它将order_status存储为键,并计为值。现在我有两种方法。
哪种方法是首选方法?
方法#1
$ordersStatus = array();
$count = array();
while ($row = my_db_fetch_array($sql)) {
$ordersStatus[] = $row['orders_status'];
$count[] = $row['count'];
}
$orders_status_count = array_combine($ordersStatus, $count);
方法#2
while ($row = my_db_fetch_array($sql)) {
$orders_status_count[$row['orders_status']] = $row['count'];
}
答案 0 :(得分:1)
第二种方法更可取,因为保持key => value
完整性会保留数据的原始关联,如果您在第一种方法中使用了2个独立的数组,最终还是需要返回!
此外,循环应该是:
while ($row = my_db_fetch_array($sql)) {
$orders_status_count[$row['orders_status']] = $row['count'];
}
答案 1 :(得分:0)
您必须使用第二种方法进行以下修改。
// if same status accrued then data will not overwrite ...
while ($row = my_db_fetch_array($sql)) {
$orders_status_count[$r['orders_status']][] = $r['count'];
}