Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.04 KB | None | 0 0
  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [qty_of_leads_by_levels] => Array
  6. (
  7. [0] => 6054
  8. [1] => 454
  9. [2] => 113
  10. [3] => 85
  11. [4] => 42
  12. [5] => 21
  13. [6] => 5
  14. [7] => 1
  15. [8] => 1
  16. )
  17.  
  18. [avg_conv_cof_arry] => Array
  19. (
  20. [0] => 0.08
  21. [1] => 0.1
  22. [2] => 0.34
  23. [3] => 0.25
  24. [4] => 0.28
  25. [5] => 0.15
  26. [6] => 0.16
  27. [7] => 0.49
  28. [8] => 0.52
  29. )
  30.  
  31. [avg_deal_size] => 54545
  32. [total_bgt] => 143763
  33. )
  34.  
  35. [1] => Array
  36. (
  37. [qty_of_leads_by_levels] => Array
  38. (
  39. [0] => 11393
  40. [1] => 8144
  41. [2] => 6490
  42. [3] => 4868
  43. [4] => 2434
  44. [5] => 1217
  45. [6] => 305
  46. [7] => 76
  47. [8] => 57
  48. )
  49.  
  50. [avg_conv_cof_arry] => Array
  51. (
  52. [0] => 0.41
  53. [1] => 0.42
  54. [2] => 0.68
  55. [3] => 0.5
  56. [4] => 0.55
  57. [5] => 0.3
  58. [6] => 0.31
  59. [7] => 0.98
  60. [8] => 1.01
  61. )
  62.  
  63. [avg_deal_size] => 54545
  64. [total_bgt] => 297490245
  65. )
  66.  
  67. [2] => Array
  68. (
  69. [qty_of_leads_by_levels] => Array
  70. (
  71. [0] => 366
  72. [1] => 366
  73. [2] => 366
  74. [3] => 366
  75. [4] => 366
  76. [5] => 184
  77. [6] => 46
  78. [7] => 11
  79. [8] => 9
  80. )
  81.  
  82. [avg_conv_cof_arry] => Array
  83. (
  84. [0] => 1
  85. [1] => 1
  86. [2] => 1
  87. [3] => 1
  88. [4] => 0.5
  89. [5] => 0.25
  90. [6] => 0.25
  91. [7] => 0.75
  92. [8] => 0.75
  93. )
  94.  
  95. [avg_deal_size] => 54545
  96.  
  97. [total_bgt] => 1981167
  98. )
  99.  
  100. [qty_of_leads_by_levels] => Array
  101. (
  102. [0] => 17814.49 //sum
  103. [1] => 8965.52
  104. [2] => 6971.02
  105. [3] => 5320.75
  106. [4] => 2843.33
  107. [5] => 1422.7
  108. [6] => 356.72
  109. [7] => 90.22
  110. [8] => 69.28
  111. )
  112.  
  113. [avg_conv_cof_arry] => Array
  114. (
  115. [0] => //sum
  116. [1] =>
  117. [2] =>
  118. [3] =>
  119. [4] =>
  120. [5] =>
  121. [6] =>
  122. [7] =>
  123. [8] =>
  124. )
  125.  
  126. [avg_deal_size] => //sum
  127.  
  128. [total_bgt] => //sum
  129.  
  130. $sumArr = array();
  131. foreach($inputArray as $key1=>$value1){
  132. foreach($value1 as $key2=>$value2){
  133. if(is_array($value2)){
  134. foreach($value2 as $key3=>$value3){
  135. if(isset($sumArr[$key3])) {
  136. $sumArr[$key3] = $sumArr[$key3] + $value3;
  137. } else {
  138. $sumArr[$key3] = $value3;
  139. }
  140.  
  141. }
  142. }
  143. }
  144. }
  145.  
  146. print_r($sumArr);
  147.  
  148. $qty_of_leads_by_levels = array();
  149. foreach ($your_arr as $key_internal=>$arr_internal){
  150. foreach ($arr_internalas $key_internal_2=>$value_internal_2){
  151. foreach ($value_internal_2 as $key=>$value){
  152. if(isset($qty_of_leads_by_levels[$key])) {
  153. $qty_of_leads_by_levels[$key] = $qty_of_leads_by_levels[$key] + $value
  154. } else {
  155. $qty_of_leads_by_levels[$key] = $value;
  156. }
  157. }
  158. }
  159. }
  160.  
  161. print_r($qty_of_leads_by_levels);
  162.  
  163. $final = array();
  164.  
  165. array_walk_recursive( $array, function ( $item, $key ) use ( &$final ) {
  166. $final[ $key ] = isset( $final[ $key ] ) ? $item + $final[ $key ] : $item;
  167. } );
  168. unset( $final['avg_deal_size'], $final['total_bgt'] );
  169.  
  170. echo '<pre>';print_r($final);echo '</pre>';
  171.  
  172. <pre>Array
  173. (
  174. [0] => 17814.49
  175. [1] => 8965.52
  176. [2] => 6971.02
  177. [3] => 5320.75
  178. [4] => 2843.33
  179. [5] => 1422.7
  180. [6] => 356.72
  181. [7] => 90.22
  182. [8] => 69.28
  183. )
  184. </pre>
  185.  
  186. $array = array
  187. (
  188. array
  189. (
  190. 'qty_of_leads_by_levels' => array
  191. (
  192. 0 => 6054,
  193. 1 => 454,
  194.  
  195. ),
  196.  
  197. 'avg_conv_cof_arry' => array
  198. (
  199. 0 => 0.08,
  200. 1 => 0.1
  201.  
  202. ),
  203.  
  204. 'avg_deal_size' => 1,
  205. 'total_bgt' => 1
  206. ),
  207.  
  208. array
  209. (
  210. 'qty_of_leads_by_levels' => array
  211. (
  212. 0 => 11393,
  213. 1 => 8144,
  214.  
  215. ),
  216.  
  217. 'avg_conv_cof_arry' => array
  218. (
  219. 0 => 0.41,
  220. 1 => 0.42
  221.  
  222. ),
  223.  
  224. 'avg_deal_size' => 2,
  225. 'total_bgt' => 2
  226. ),
  227.  
  228. array
  229. (
  230. 'qty_of_leads_by_levels' => array
  231. (
  232. 0 => 366,
  233. 1 => 366
  234.  
  235. ),
  236.  
  237. 'avg_conv_cof_arry' => array
  238. (
  239. 0 => 1,
  240. 1 => 1
  241.  
  242. ),
  243.  
  244. 'avg_deal_size' => 3,
  245. 'total_bgt' => 3
  246. )
  247. );
  248.  
  249. $new_array = array();
  250. $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
  251.  
  252. foreach ($iterator as $key => $value) {
  253. $keys = array();
  254. $keys[] = $key;
  255. for ($i = $iterator->getDepth() - 1; $i >= 0; $i--) {
  256. $keys[] = $iterator->getSubIterator($i)->key();
  257. }
  258.  
  259. //get key path
  260. $key_paths = array_reverse($keys);
  261.  
  262. if((count($key_paths) > 2)) {
  263. if(!isset($new_array[$key_paths[1]][$key])){
  264. $new_array[$key_paths[1]][$key] = 0;
  265. }
  266. $new_array[$key_paths[1]][$key] += $value;
  267. }
  268. else {
  269. if(!isset($new_array[$key_paths[1]])){
  270. $new_array[$key_paths[1]] = 0;
  271. }
  272. $new_array[$key_paths[1]] += $value;
  273. }
  274. }
  275.  
  276. print_r($new_array);
  277.  
  278. Array
  279. (
  280. [qty_of_leads_by_levels] => Array
  281. (
  282. [0] => 17813
  283. [1] => 8964
  284. )
  285.  
  286. [avg_conv_cof_arry] => Array
  287. (
  288. [0] => 1.49
  289. [1] => 1.52
  290. )
  291.  
  292. [avg_deal_size] => 6
  293. [total_bgt] => 6
  294. )
  295.  
  296. <?php
  297. $sumArray = [];
  298. foreach($array as $r)
  299. for($i = 0; $i < count($r); $i++)
  300. $sumArray[$i] += $r['qty_of_leads_by_levels'][$i];
  301. ?>
  302.  
  303. $arr = array_column($input, 'qty_of_leads_by_levels');
  304.  
  305. $sumArray = array();
  306. array_walk($arr, function ($val, $key) use ($sumArray){
  307. foreach($val as $k => $v) {
  308. $sumArray[$k] = isset($sumArray[$k]) ? $sumArray[$k]+$v : $v;
  309. }
  310. });
  311.  
  312. print_r($sumArray);
  313.  
  314. Array
  315. (
  316. [0] => 17814.49
  317. [1] => 8965.52
  318. [2] => 6971.02
  319. [3] => 5320.75
  320. [4] => 2843.33
  321. [5] => 1422.7
  322. [6] => 356.72
  323. [7] => 90.22
  324. [8] => 69.28
  325. )
  326.  
  327. $qty_of_leads_by_levels = array();
  328. $avg_conv_cof_arry = array();
  329. $avg_deal_size = 0;
  330. $total_bgt = 0;
  331.  
  332.  
  333. for($i=0;$i<count($arr1);$i++){
  334.  
  335. foreach($arr1[$i]['qty_of_leads_by_levels'] as $k=>$v){
  336. $qty_of_leads_by_levels[$k] += $v;
  337. }
  338.  
  339. foreach($arr1[$i]['avg_conv_cof_arry'] as $k1=>$v1){
  340. $avg_conv_cof_arry[$k1] = $avg_conv_cof_arry[$k1] + $v1;
  341. }
  342.  
  343. $avg_deal_size += $arr1[$i]['avg_deal_size'];
  344. $total_bgt += $arr1[$i]['total_bgt'];
  345. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement