如何基于PHP Codeigniter中的一个字段值将数组拆分为组 [英] How to split array into groups based on one field value in PHP Codeigniter
本文介绍了如何基于PHP Codeigniter中的一个字段值将数组拆分为组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的数组:
Array
(
[0] => stdClass Object
(
[vendor_id] => 11
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Pre-Paid Airtime Recharge
)
[1] => stdClass Object
(
[vendor_id] => 12
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Pre-Paid Airtime Recharge
)
[2] => stdClass Object
(
[vendor_id] => 13
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Bill Payments
)
)
....
有8种服务类型,我想根据 service
字段的值对数据进行分组。像这样:
8 type of services are there and I want to group my data based on the service
field's value. Like this:
Service: Pre-Paid Airtime Recharge
[0] => stdClass Object
(
[vendor_id] => 13
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Pre-Paid Airtime Recharge
)
[1] => stdClass Object
(
[vendor_id] => 14
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Pre-Paid Airtime Recharge
)
Service: Bill Payments
[0] => stdClass Object
(
[vendor_id] => 15
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Bill Payments
)
[1] => stdClass Object
(
[vendor_id] => 16
[name] => Telkom Pin Airtime R100.00
[provider] => Telkom Mobile
[service] => Bill Payments
)
有可能吗?请指南
推荐答案
假定原始数组的名称为$ origin_data,并在操作后将按服务名称排序的数据放入$ sorted_data
assume the original array's name is $origin_data and after manipulation we put data that sorted by service name into $sorted_data
$sorted_data = array();
//its key value pair is like [service_name] => array( 0 => array(...),...)
foreach($origin_data as $item) {
if(isset($sorted_data[$item[service]])) {
$sorted_data[$item[service]][] = $item;
}
}
现在 $的每个元素sorted_data
是一项服务的一组元素
Now each element of $sorted_data
is a group of elements for one service
这篇关于如何基于PHP Codeigniter中的一个字段值将数组拆分为组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文