3v4l.org

run code in 300+ PHP versions simultaneously
<?php $kriteria = ['C1','C2','C3','C4','C5','C6']; $alternatif = ['ALT1','ALT2','ALT3','ALT4','ALT5','ALT6','ALT7']; $alternatifkriteria['ALT1']['C1'] = 5; $alternatifkriteria['ALT1']['C2'] = 1; $alternatifkriteria['ALT1']['C3'] = 5; $alternatifkriteria['ALT1']['C4'] = 2; $alternatifkriteria['ALT1']['C5'] = 1; $alternatifkriteria['ALT1']['C6'] = 5; $alternatifkriteria['ALT2']['C1'] = 2; $alternatifkriteria['ALT2']['C2'] = 4; $alternatifkriteria['ALT2']['C3'] = 2; $alternatifkriteria['ALT2']['C4'] = 5; $alternatifkriteria['ALT2']['C5'] = 4; $alternatifkriteria['ALT2']['C6'] = 4; $alternatifkriteria['ALT3']['C1'] = 1; $alternatifkriteria['ALT3']['C2'] = 4; $alternatifkriteria['ALT3']['C3'] = 2; $alternatifkriteria['ALT3']['C4'] = 5; $alternatifkriteria['ALT3']['C5'] = 2; $alternatifkriteria['ALT3']['C6'] = 4; $alternatifkriteria['ALT4']['C1'] = 2; $alternatifkriteria['ALT4']['C2'] = 4; $alternatifkriteria['ALT4']['C3'] = 4; $alternatifkriteria['ALT4']['C4'] = 5; $alternatifkriteria['ALT4']['C5'] = 4; $alternatifkriteria['ALT4']['C6'] = 2; $alternatifkriteria['ALT5']['C1'] = 5; $alternatifkriteria['ALT5']['C2'] = 4; $alternatifkriteria['ALT5']['C3'] = 4; $alternatifkriteria['ALT5']['C4'] = 1; $alternatifkriteria['ALT5']['C5'] = 2; $alternatifkriteria['ALT5']['C6'] = 4; $alternatifkriteria['ALT6']['C1'] = 4; $alternatifkriteria['ALT6']['C2'] = 4; $alternatifkriteria['ALT6']['C3'] = 2; $alternatifkriteria['ALT6']['C4'] = 5; $alternatifkriteria['ALT6']['C5'] = 2; $alternatifkriteria['ALT6']['C6'] = 4; $alternatifkriteria['ALT7']['C1'] = 4; $alternatifkriteria['ALT7']['C2'] = 2; $alternatifkriteria['ALT7']['C3'] = 2; $alternatifkriteria['ALT7']['C4'] = 5; $alternatifkriteria['ALT7']['C5'] = 2; $alternatifkriteria['ALT7']['C6'] = 1; // get the values with numeric keys... $akv = array_values($alternatifkriteria); // so we can unpack them to transpose the array... $akt = array_map(null, ...$akv); // now we can just sum and take the max of each column $sums = array_map(function ($v) { return array_sum($v); }, $akt); $maxs = array_map(function ($v) { return max($v); }, $akt); print_r($sums); print_r($maxs);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/6Jq0H
function name:  (null)
number of ops:  157
compiled vars:  !0 = $kriteria, !1 = $alternatif, !2 = $alternatifkriteria, !3 = $akv, !4 = $akt, !5 = $sums, !6 = $maxs
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    3     1        ASSIGN                                                   !1, <array>
    4     2        FETCH_DIM_W                                      $9      !2, 'ALT1'
          3        ASSIGN_DIM                                               $9, 'C1'
          4        OP_DATA                                                  5
    5     5        FETCH_DIM_W                                      $11     !2, 'ALT1'
          6        ASSIGN_DIM                                               $11, 'C2'
          7        OP_DATA                                                  1
    6     8        FETCH_DIM_W                                      $13     !2, 'ALT1'
          9        ASSIGN_DIM                                               $13, 'C3'
         10        OP_DATA                                                  5
    7    11        FETCH_DIM_W                                      $15     !2, 'ALT1'
         12        ASSIGN_DIM                                               $15, 'C4'
         13        OP_DATA                                                  2
    8    14        FETCH_DIM_W                                      $17     !2, 'ALT1'
         15        ASSIGN_DIM                                               $17, 'C5'
         16        OP_DATA                                                  1
    9    17        FETCH_DIM_W                                      $19     !2, 'ALT1'
         18        ASSIGN_DIM                                               $19, 'C6'
         19        OP_DATA                                                  5
   10    20        FETCH_DIM_W                                      $21     !2, 'ALT2'
         21        ASSIGN_DIM                                               $21, 'C1'
         22        OP_DATA                                                  2
   11    23        FETCH_DIM_W                                      $23     !2, 'ALT2'
         24        ASSIGN_DIM                                               $23, 'C2'
         25        OP_DATA                                                  4
   12    26        FETCH_DIM_W                                      $25     !2, 'ALT2'
         27        ASSIGN_DIM                                               $25, 'C3'
         28        OP_DATA                                                  2
   13    29        FETCH_DIM_W                                      $27     !2, 'ALT2'
         30        ASSIGN_DIM                                               $27, 'C4'
         31        OP_DATA                                                  5
   14    32        FETCH_DIM_W                                      $29     !2, 'ALT2'
         33        ASSIGN_DIM                                               $29, 'C5'
         34        OP_DATA                                                  4
   15    35        FETCH_DIM_W                                      $31     !2, 'ALT2'
         36        ASSIGN_DIM                                               $31, 'C6'
         37        OP_DATA                                                  4
   16    38        FETCH_DIM_W                                      $33     !2, 'ALT3'
         39        ASSIGN_DIM                                               $33, 'C1'
         40        OP_DATA                                                  1
   17    41        FETCH_DIM_W                                      $35     !2, 'ALT3'
         42        ASSIGN_DIM                                               $35, 'C2'
         43        OP_DATA                                                  4
   18    44        FETCH_DIM_W                                      $37     !2, 'ALT3'
         45        ASSIGN_DIM                                               $37, 'C3'
         46        OP_DATA                                                  2
   19    47        FETCH_DIM_W                                      $39     !2, 'ALT3'
         48        ASSIGN_DIM                                               $39, 'C4'
         49        OP_DATA                                                  5
   20    50        FETCH_DIM_W                                      $41     !2, 'ALT3'
         51        ASSIGN_DIM                                               $41, 'C5'
         52        OP_DATA                                                  2
   21    53        FETCH_DIM_W                                      $43     !2, 'ALT3'
         54        ASSIGN_DIM                                               $43, 'C6'
         55        OP_DATA                                                  4
   22    56        FETCH_DIM_W                                      $45     !2, 'ALT4'
         57        ASSIGN_DIM                                               $45, 'C1'
         58        OP_DATA                                                  2
   23    59        FETCH_DIM_W                                      $47     !2, 'ALT4'
         60        ASSIGN_DIM                                               $47, 'C2'
         61        OP_DATA                                                  4
   24    62        FETCH_DIM_W                                      $49     !2, 'ALT4'
         63        ASSIGN_DIM                                               $49, 'C3'
         64        OP_DATA                                                  4
   25    65        FETCH_DIM_W                                      $51     !2, 'ALT4'
         66        ASSIGN_DIM                                               $51, 'C4'
         67        OP_DATA                                                  5
   26    68        FETCH_DIM_W                                      $53     !2, 'ALT4'
         69        ASSIGN_DIM                                               $53, 'C5'
         70        OP_DATA                                                  4
   27    71        FETCH_DIM_W                                      $55     !2, 'ALT4'
         72        ASSIGN_DIM                                               $55, 'C6'
         73        OP_DATA                                                  2
   28    74        FETCH_DIM_W                                      $57     !2, 'ALT5'
         75        ASSIGN_DIM                                               $57, 'C1'
         76        OP_DATA                                                  5
   29    77        FETCH_DIM_W                                      $59     !2, 'ALT5'
         78        ASSIGN_DIM                                               $59, 'C2'
         79        OP_DATA                                                  4
   30    80        FETCH_DIM_W                                      $61     !2, 'ALT5'
         81        ASSIGN_DIM                                               $61, 'C3'
         82        OP_DATA                                                  4
   31    83        FETCH_DIM_W                                      $63     !2, 'ALT5'
         84        ASSIGN_DIM                                               $63, 'C4'
         85        OP_DATA                                                  1
   32    86        FETCH_DIM_W                                      $65     !2, 'ALT5'
         87        ASSIGN_DIM                                               $65, 'C5'
         88        OP_DATA                                                  2
   33    89        FETCH_DIM_W                                      $67     !2, 'ALT5'
         90        ASSIGN_DIM                                               $67, 'C6'
         91        OP_DATA                                                  4
   34    92        FETCH_DIM_W                                      $69     !2, 'ALT6'
         93        ASSIGN_DIM                                               $69, 'C1'
         94        OP_DATA                                                  4
   35    95        FETCH_DIM_W                                      $71     !2, 'ALT6'
         96        ASSIGN_DIM                                               $71, 'C2'
         97        OP_DATA                                                  4
   36    98        FETCH_DIM_W                                      $73     !2, 'ALT6'
         99        ASSIGN_DIM                                               $73, 'C3'
        100        OP_DATA                                                  2
   37   101        FETCH_DIM_W                                      $75     !2, 'ALT6'
        102        ASSIGN_DIM                                               $75, 'C4'
        103        OP_DATA                                                  5
   38   104        FETCH_DIM_W                                      $77     !2, 'ALT6'
        105        ASSIGN_DIM                                               $77, 'C5'
        106        OP_DATA                                                  2
   39   107        FETCH_DIM_W                                      $79     !2, 'ALT6'
        108        ASSIGN_DIM                                               $79, 'C6'
        109        OP_DATA                                                  4
   40   110        FETCH_DIM_W                                      $81     !2, 'ALT7'
        111        ASSIGN_DIM                                               $81, 'C1'
        112        OP_DATA                                                  4
   41   113        FETCH_DIM_W                                      $83     !2, 'ALT7'
        114        ASSIGN_DIM                                               $83, 'C2'
        115        OP_DATA                                                  2
   42   116        FETCH_DIM_W                                      $85     !2, 'ALT7'
        117        ASSIGN_DIM                                               $85, 'C3'
        118        OP_DATA                                                  2
   43   119        FETCH_DIM_W                                      $87     !2, 'ALT7'
        120        ASSIGN_DIM                                               $87, 'C4'
        121        OP_DATA                                                  5
   44   122        FETCH_DIM_W                                      $89     !2, 'ALT7'
        123        ASSIGN_DIM                                               $89, 'C5'
        124        OP_DATA                                                  2
   45   125        FETCH_DIM_W                                      $91     !2, 'ALT7'
        126        ASSIGN_DIM                                               $91, 'C6'
        127        OP_DATA                                                  1
   47   128        INIT_FCALL                                               'array_values'
        129        SEND_VAR                                                 !2
        130        DO_ICALL                                         $93     
        131        ASSIGN                                                   !3, $93
   49   132        INIT_FCALL                                               'array_map'
        133        SEND_VAL                                                 null
        134        SEND_UNPACK                                              !3
        135        CHECK_UNDEF_ARGS                                         
        136        DO_ICALL                                         $95     
        137        ASSIGN                                                   !4, $95
   51   138        INIT_FCALL                                               'array_map'
        139        DECLARE_LAMBDA_FUNCTION                          ~97     [0]
        140        SEND_VAL                                                 ~97
        141        SEND_VAR                                                 !4
        142        DO_ICALL                                         $98     
        143        ASSIGN                                                   !5, $98
   52   144        INIT_FCALL                                               'array_map'
        145        DECLARE_LAMBDA_FUNCTION                          ~100    [1]
        146        SEND_VAL                                                 ~100
        147        SEND_VAR                                                 !4
        148        DO_ICALL                                         $101    
        149        ASSIGN                                                   !6, $101
   53   150        INIT_FCALL                                               'print_r'
        151        SEND_VAR                                                 !5
        152        DO_ICALL                                                 
   54   153        INIT_FCALL                                               'print_r'
        154        SEND_VAR                                                 !6
        155        DO_ICALL                                                 
        156      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/6Jq0H
function name:  {closure}
number of ops:  6
compiled vars:  !0 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   51     0  E >   RECV                                             !0      
          1        INIT_FCALL                                               'array_sum'
          2        SEND_VAR                                                 !0
          3        DO_ICALL                                         $1      
          4      > RETURN                                                   $1
          5*     > RETURN                                                   null

End of Dynamic Function 0

Dynamic Function 1
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/6Jq0H
function name:  {closure}
number of ops:  6
compiled vars:  !0 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   52     0  E >   RECV                                             !0      
          1        INIT_FCALL                                               'max'
          2        SEND_VAR                                                 !0
          3        DO_ICALL                                         $1      
          4      > RETURN                                                   $1
          5*     > RETURN                                                   null

End of Dynamic Function 1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.37 ms | 1019 KiB | 18 Q