Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $data = array(
- array(
- 'modname' => 'Lorem',
- 'pricing' => array(
- '0' => 0.03,
- '1' => 0.15,
- '2' => 0.50
- ),
- 'names' => array(
- '0' => 'Lorems +0.03',
- '1' => 'Ipsum +0.15',
- '2' => 'Dolor +0.50'
- )
- ),
- array(
- 'modname' => 'Ipsum',
- 'pricing' => array(
- '0' => 0.08,
- '1' => 0.20,
- '2' => 0.60
- ),
- 'names' => array(
- '0' => 'Sie +0.08',
- '1' => 'A +0.20',
- '2' => 'Mat +0.60'
- )
- )
- );
- $input = [
- ['id_group' => 1, 'name' => "Lorem", 'price' => 0.03],
- ['id_group' => 2, 'name' => "Sie", 'price' => 0.08],
- ['id_group' => 1, 'name' => "Ipsum", 'price' => 0.15],
- ['id_group' => 1, 'name' => "Dolor", 'price' => 0.50],
- ['id_group' => 2, 'name' => "A", 'price' => 0.20],
- ['id_group' => 2, 'name' => "Mat", 'price' => 0.60],
- ];
- $result = [];
- foreach($input as $d){
- $gId = $d['id_group'];
- //новая группа
- if(!isset($result[$gId])){
- $result[$gId] = [
- 'modname' => $d['name'],
- 'pricing' => [],
- 'names' => [],
- ];
- }
- $result[$gId]['pricing'][] = $d['price'];
- $result[$gId]['names'][] = sprintf("%s %+.2f", $d['name'], $d['price']);
- }
- Array (
- [1] => Array
- (
- [modname] => Lorem
- [pricing] => Array
- (
- [0] => 0.03
- [1] => 0.15
- [2] => 0.5
- )
- [names] => Array
- (
- [0] => Lorem +0.03
- [1] => Ipsum +0.15
- [2] => Dolor +0.50
- )
- )
- [2] => Array
- (
- [modname] => Sie
- [pricing] => Array
- (
- [0] => 0.08
- [1] => 0.2
- [2] => 0.6
- )
- [names] => Array
- (
- [0] => Sie +0.08
- [1] => A +0.20
- [2] => Mat +0.60
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement