Подсчёт количества массивов по определенным данным в php
Есть массив заказов с разными их статусами:
Array
(
[0] => stdClass Object
(
[order_id] => 16881
[order_price] => 880
[place_amount] => 1
[order_date] => 2023-03-13 17:47:53
[order_status] => 2
[order_hash] => b78955b1532671a85295c3bcbb56de15
[ID] => 16862
[event_id] => 4103
[event_date] => 2023-04-08 12:00:00
)
[1] => stdClass Object
(
[order_id] => 16882
[order_price] => 880
[place_amount] => 1
[order_date] => 2023-03-13 17:50:07
[order_status] => 2
[order_hash] => c2386d666225d657db4283f334d26d1a
[ID] => 16863
[event_id] => 4103
[event_date] => 2023-04-08 12:00:00
)
[3] => stdClass Object
(
[order_id] => 16882
[order_price] => 880
[place_amount] => 1
[order_date] => 2023-03-13 17:50:07
[order_status] => 1
[order_hash] => c2386d666225d657db4283f334d26d1a
[ID] => 16863
[event_id] => 4103
[event_date] => 2023-04-08 12:00:00
)
)
Сейчас под каждый статус заказа, делается отдельный sql запрос, а статусов всего 6. Думаю лучше, было бы делать один sql запрос на все заказы и потом считать их фильтруя по [order_status] => 2
, но не совсем понимаю как это делать. То есть по итогу должно получится: (заказов со статусом 2: 2), (заказов со статусом 1: 1) и т.д.
Источник: Stack Overflow на русском