1
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi có một mảng:
Array
[
[0] => Array
[
[id] => 81
[placed] => 2013-09-19 16:32:53
[sub_total] => 786
]
[1] => Array
[
[id] => 80
[placed] => 2013-09-19 16:32:06
[sub_total] => 780
]
[2] => Array
[
[id] => 79
[placed] => 2013-09-18 17:06:48
[sub_total] => 786
]
[3] => Array
[
[id] => 78
[placed] => 2013-09-18 17:05:02
[sub_total] => 756
]
[4] => Array
[
[id] => 77
[placed] => 2013-09-17 17:02:53
[sub_total] => 786
]
[5] => Array
[
[id] => 76
[placed] => 2013-09-16 17:02:53
[sub_total] => 756
]
]
Có thể nhóm dữ liệu này theo ngày và tóm tắt số lượng phụ để nhận mảng đầu ra:
Array
[
[0] => Array
[
[placed] => 2013-09-19
[sub_total] => 786 + 780
]
[2] => Array
[
[placed] => 2013-09-18
[sub_total] => 786 + 756
]
[3] => Array
[
[placed] => 2013-09-17 17:02:53
[sub_total] => 786
]
[4] => Array
[
[placed] => 2013-09-16 17:02:53
[sub_total] => 756
]
]
Mickmackusa
39,4K11 Huy hiệu vàng76 Huy hiệu bạc117 Huy hiệu đồng11 gold badges76 silver badges117 bronze badges
Hỏi ngày 25 tháng 9 năm 2013 lúc 5:56Sep 25, 2013 at 5:56
1
$output=array[];
foreach[$yourArray as $values]
{
$d=date["Y-m-d",strtotime[$values["placed"]]];
$output[$d]["sub_total"]+=$values["sub_total"];
}
print_r[$output];
Vĩ cầm
Tín dụng: Mảng ban đầu được sử dụng trên fiddle này được lấy từ câu trả lời của Jason Ooo bên dưới.
Đã trả lời ngày 25 tháng 9 năm 2013 lúc 6:00Sep 25, 2013 at 6:00
Hanky pankyhanky pankyHanky Panky
46.3k8 Huy hiệu vàng70 Huy hiệu bạc95 Huy hiệu Đồng8 gold badges70 silver badges95 bronze badges
3
Tôi cũng đã thử nghiệm điều này: //phpfiddle.org/main/code/rzv-ngp
Đã trả lời ngày 25 tháng 9 năm 2013 lúc 6:13Sep 25, 2013 at 6:13
Jason Ooojason OOOJason OOO
3.5572 Huy hiệu vàng25 Huy hiệu bạc31 Huy hiệu Đồng2 gold badges25 silver badges31 bronze badges
3
Bạn có thể có loại mảng đó vào thời gian truy vấn. Cái gì đó như
select date_field_name,other_field from table_name group by Day[date_feild_name];
Sau đó, bạn có thể sử dụng Foreach để làm việc với dữ liệu của mỗi ngày!
Đã trả lời ngày 25 tháng 9 năm 2013 lúc 6:03Sep 25, 2013 at 6:03
Reza Saberireza SaberiReza Saberi
7.0629 Huy hiệu vàng45 Huy hiệu bạc76 Huy hiệu đồng9 gold badges45 silver badges76 bronze badges
Thử sử dụng truy vấn phụ
select field_name,DAY[date_field] as date,[select sum[sub_total] where DAY[date_field]=date] as sub_total from table_name group by day[date_field]
Đã trả lời ngày 25 tháng 9 năm 2013 lúc 6:55Sep 25, 2013 at 6:55
NikhilnikhilNikhil
Huy hiệu bạc 1011 Huy hiệu đồng1 silver badge9 bronze badges
Try this code
Đã trả lời ngày 25 tháng 9 năm 2013 lúc 7:38Sep 25, 2013 at 7:38