3v4l.org

run code in 500+ 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:/in/6Jq0H:51}
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:/in/6Jq0H:52}
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.5.0


preferences:
165.83 ms | 3131 KiB | 18 Q