Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. $data = array(
  2. array(
  3. 'modname' => 'Lorem',
  4.  
  5. 'pricing' => array(
  6. '0' => 0.03,
  7. '1' => 0.15,
  8. '2' => 0.50
  9. ),
  10.  
  11. 'names' => array(
  12. '0' => 'Lorems +0.03',
  13. '1' => 'Ipsum +0.15',
  14. '2' => 'Dolor +0.50'
  15. )
  16.  
  17. ),
  18.  
  19. array(
  20. 'modname' => 'Ipsum',
  21.  
  22. 'pricing' => array(
  23. '0' => 0.08,
  24. '1' => 0.20,
  25. '2' => 0.60
  26. ),
  27.  
  28. 'names' => array(
  29. '0' => 'Sie +0.08',
  30. '1' => 'A +0.20',
  31. '2' => 'Mat +0.60'
  32. )
  33.  
  34. )
  35.  
  36. );
  37.  
  38. $input = [
  39. ['id_group' => 1, 'name' => "Lorem", 'price' => 0.03],
  40. ['id_group' => 2, 'name' => "Sie", 'price' => 0.08],
  41. ['id_group' => 1, 'name' => "Ipsum", 'price' => 0.15],
  42. ['id_group' => 1, 'name' => "Dolor", 'price' => 0.50],
  43. ['id_group' => 2, 'name' => "A", 'price' => 0.20],
  44. ['id_group' => 2, 'name' => "Mat", 'price' => 0.60],
  45. ];
  46.  
  47. $result = [];
  48. foreach($input as $d){
  49. $gId = $d['id_group'];
  50.  
  51. //новая группа
  52. if(!isset($result[$gId])){
  53. $result[$gId] = [
  54. 'modname' => $d['name'],
  55. 'pricing' => [],
  56. 'names' => [],
  57. ];
  58. }
  59.  
  60. $result[$gId]['pricing'][] = $d['price'];
  61. $result[$gId]['names'][] = sprintf("%s %+.2f", $d['name'], $d['price']);
  62. }
  63.  
  64. Array (
  65. [1] => Array
  66. (
  67. [modname] => Lorem
  68. [pricing] => Array
  69. (
  70. [0] => 0.03
  71. [1] => 0.15
  72. [2] => 0.5
  73. )
  74.  
  75. [names] => Array
  76. (
  77. [0] => Lorem +0.03
  78. [1] => Ipsum +0.15
  79. [2] => Dolor +0.50
  80. )
  81.  
  82. )
  83.  
  84. [2] => Array
  85. (
  86. [modname] => Sie
  87. [pricing] => Array
  88. (
  89. [0] => 0.08
  90. [1] => 0.2
  91. [2] => 0.6
  92. )
  93.  
  94. [names] => Array
  95. (
  96. [0] => Sie +0.08
  97. [1] => A +0.20
  98. [2] => Mat +0.60
  99. )
  100.  
  101. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement