基本上我从数据库中获得了大量数据。
现在,此数据将以编程级别显示为另一种数组格式。
有时,我在数据库级别对列进行分组。 但现在,在编程级别,如何将另一个元素分组到数组中的另一个元素。
我使用PHP。这是数据(数组)
Array
(
[0] => Array
(
[kode_lapangan] => 01
[date_start_booking] => 2017-07-24 11:00:00
[bookings] => Array
(
)
)
[1] => Array
(
[kode_lapangan] => 01
[date_start_booking] => 2017-07-24 08:00:00
[bookings] => Array
(
)
)
[2] => Array
(
[kode_lapangan] => 01
[date_start_booking] => 2017-07-24 12:00:00
[bookings] => Array
(
)
)
[3] => Array
(
[kode_lapangan] => 02
[date_start_booking] => 2017-07-24 08:00:00
[bookings] => Array
(
)
)
)
我需要一个这样的数组:
Array
(
[0] => Array
(
[kode_lapangan] => 01
[date_start_booking] => Array
(
[0] => 2017-07-24 11:00:00
[1] => 2017-07-24 08:00:00
[2] => 2017-07-24 12:00:00
)
)
[1] => Array
(
[kode_lapangan] => 02
[date_start_booking] =>
(
[0] => 2017-07-24 08:00:00
)
)
)
答案 0 :(得分:1)
您可能想退后一步,看看是否可以让数据库执行大部分工作。
您可以轻松地将结果分组到sql中,如下所示:
选择kode_lapangan,GROUP_CONCAT(date_start_booking)作为日期FROM FROM GROUP BY kode_lapangan;
请参阅:https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
我在这里假设mysql一分钟,但这适用于大多数数据库引擎。
这将以以下形式制作数组:
Array
(
[0] => Array
(
[kode_lapangan] => 01
[dates] => "2017-07-24 11:00:00,2017-07-24 08:00:00,2017-07-24 12:00:00"
)
)
[1] => Array
(
[kode_lapangan] => 02
[dates] => "2017-07-24 08:00:00"
)
)
但如果那不是一个选项......你可以随时重建数组,因为Alive to die提到