3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ 'KeyAccountID' => 1234, 'KeyAccountName' => 'John, Lennon', 'ClientID' => 9999, 'Client' => 'BBC', 'projects' => [ [2,915,'Zyxeldy','','',15000,'','',''], [2,956,'Awesome project, Step 1 ','','',1833.3333,1833.3333,1833.3333,''], [2,957,'Awesome project, Step 2','','',7000,'','',''] ] ],[ 'KeyAccountID' => 1236, 'KeyAccountName' => 'Ringo Starr', 'ClientID' => 9997, 'Client' => 'XYY', 'projects' => [ [2,867,'Data Mining','','',10000,'','',''] ] ],[ 'KeyAccountID' => 1235, 'KeyAccountName' => 'Poul McCartney', 'ClientID' => 9996, 'Client' => 'XYZ', 'projects' => [ [2,715,'XYZ, CSM','','',22083.3333,22083.3333,22083.3333,''] ] ] ]; $newArray = []; foreach($array as $value) { $newArray[$value['KeyAccountID']]['month1'] = array_sum(array_column($value['projects'],5)); $newArray[$value['KeyAccountID']]['month2'] = array_sum(array_column($value['projects'],6)); $newArray[$value['KeyAccountID']]['month3'] = array_sum(array_column($value['projects'],7)); } echo "<pre>"; var_dump($newArray); ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 41
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 41
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 41
filename:       /in/UEFaB
function name:  (null)
number of ops:  47
compiled vars:  !0 = $array, !1 = $newArray, !2 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
   31     1        ASSIGN                                                   !1, <array>
   33     2      > FE_RESET_R                                       $5      !0, ->41
          3    > > FE_FETCH_R                                               $5, !2, ->41
   34     4    >   FETCH_DIM_R                                      ~6      !2, 'KeyAccountID'
          5        INIT_FCALL                                               'array_sum'
          6        INIT_FCALL                                               'array_column'
          7        FETCH_DIM_R                                      ~9      !2, 'projects'
          8        SEND_VAL                                                 ~9
          9        SEND_VAL                                                 5
         10        DO_ICALL                                         $10     
         11        SEND_VAR                                                 $10
         12        DO_ICALL                                         $11     
         13        FETCH_DIM_W                                      $7      !1, ~6
         14        ASSIGN_DIM                                               $7, 'month1'
         15        OP_DATA                                                  $11
   35    16        FETCH_DIM_R                                      ~12     !2, 'KeyAccountID'
         17        INIT_FCALL                                               'array_sum'
         18        INIT_FCALL                                               'array_column'
         19        FETCH_DIM_R                                      ~15     !2, 'projects'
         20        SEND_VAL                                                 ~15
         21        SEND_VAL                                                 6
         22        DO_ICALL                                         $16     
         23        SEND_VAR                                                 $16
         24        DO_ICALL                                         $17     
         25        FETCH_DIM_W                                      $13     !1, ~12
         26        ASSIGN_DIM                                               $13, 'month2'
         27        OP_DATA                                                  $17
   36    28        FETCH_DIM_R                                      ~18     !2, 'KeyAccountID'
         29        INIT_FCALL                                               'array_sum'
         30        INIT_FCALL                                               'array_column'
         31        FETCH_DIM_R                                      ~21     !2, 'projects'
         32        SEND_VAL                                                 ~21
         33        SEND_VAL                                                 7
         34        DO_ICALL                                         $22     
         35        SEND_VAR                                                 $22
         36        DO_ICALL                                         $23     
         37        FETCH_DIM_W                                      $19     !1, ~18
         38        ASSIGN_DIM                                               $19, 'month3'
         39        OP_DATA                                                  $23
   33    40      > JMP                                                      ->3
         41    >   FE_FREE                                                  $5
   38    42        ECHO                                                     '%3Cpre%3E'
   39    43        INIT_FCALL                                               'var_dump'
         44        SEND_VAR                                                 !1
         45        DO_ICALL                                                 
   40    46      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
136.97 ms | 1005 KiB | 16 Q