3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_rows = array(); $_sub_categories = array(); for($i = 1; $i <= 28; $i++) { if(in_array($i, array(1,2))) { $_rows['row1'][] = 'Category '.$i; } if(in_array($i, array(3,4,5))) { $_rows['row2'][] = 'Category '.$i; } if(in_array($i, array(6,7,8))) { $_rows['row3'][] = 'Category '.$i; } if(in_array($i, array(9,10,11))) { $_rows['row4'][] = 'Category '.$i; } if(in_array($i, array(12,13))) { $_rows['row5'][] = 'Category '.$i; } if(in_array($i, array(14,15,16))) { $_rows['row6'][] = 'Category '.$i; } if(in_array($i, array(17,18,19))) { $_rows['row7'][] = 'Category '.$i; } if(in_array($i, array(20,21,22))) { $_rows['row8'][] = 'Category '.$i; } if(in_array($i, array(23,24,25))) { $_rows['row9'][] = 'Category '.$i; } if(in_array($i, array(26,27,28))) { $_rows['row10'][] = 'Category '.$i; } } print_r($_rows); foreach($_rows as $_row) { if(in_array(key($_row), array('row1'))) { $_sub_categories[] = $_row; } if(in_array(key($_row), array('row2','row3','row4'))) { $_sub_categories[] = $_row; } if(in_array(key($_row), array('row5'))) { $_sub_categories[] = $_row; } if(in_array(key($_row), array('row6','row7','row8','row9','row10'))) { $_sub_categories[] = $_row; } } foreach($_sub_categories as $_subcat):?> <ul> <?php $j = 0; ?> <?php foreach($_subcat as $_sub_category): $j++; ?> <li <?php if($j==1) { echo 'class="first"'; } ?>><?php echo $_sub_category; ?></li> <?php endforeach; ?> </ul> <?php endforeach; ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 95
Branch analysis from position: 95
2 jumps found. (Code = 44) Position 1 = 97, Position 2 = 4
Branch analysis from position: 97
2 jumps found. (Code = 77) Position 1 = 101, Position 2 = 131
Branch analysis from position: 101
2 jumps found. (Code = 78) Position 1 = 102, Position 2 = 131
Branch analysis from position: 102
2 jumps found. (Code = 43) Position 1 = 107, Position 2 = 109
Branch analysis from position: 107
2 jumps found. (Code = 43) Position 1 = 114, Position 2 = 116
Branch analysis from position: 114
2 jumps found. (Code = 43) Position 1 = 121, Position 2 = 123
Branch analysis from position: 121
2 jumps found. (Code = 43) Position 1 = 128, Position 2 = 130
Branch analysis from position: 128
1 jumps found. (Code = 42) Position 1 = 101
Branch analysis from position: 101
Branch analysis from position: 130
Branch analysis from position: 123
Branch analysis from position: 116
Branch analysis from position: 109
Branch analysis from position: 131
2 jumps found. (Code = 77) Position 1 = 133, Position 2 = 151
Branch analysis from position: 133
2 jumps found. (Code = 78) Position 1 = 134, Position 2 = 151
Branch analysis from position: 134
2 jumps found. (Code = 77) Position 1 = 138, Position 2 = 148
Branch analysis from position: 138
2 jumps found. (Code = 78) Position 1 = 139, Position 2 = 148
Branch analysis from position: 139
2 jumps found. (Code = 43) Position 1 = 143, Position 2 = 144
Branch analysis from position: 143
1 jumps found. (Code = 42) Position 1 = 138
Branch analysis from position: 138
Branch analysis from position: 144
Branch analysis from position: 148
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
Branch analysis from position: 148
Branch analysis from position: 151
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 151
Branch analysis from position: 131
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 22
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 31
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 40
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 45, Position 2 = 49
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 58
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 67
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 72, Position 2 = 76
Branch analysis from position: 72
2 jumps found. (Code = 43) Position 1 = 81, Position 2 = 85
Branch analysis from position: 81
2 jumps found. (Code = 43) Position 1 = 90, Position 2 = 94
Branch analysis from position: 90
2 jumps found. (Code = 44) Position 1 = 97, Position 2 = 4
Branch analysis from position: 97
Branch analysis from position: 4
Branch analysis from position: 94
Branch analysis from position: 85
Branch analysis from position: 76
Branch analysis from position: 67
Branch analysis from position: 58
Branch analysis from position: 49
Branch analysis from position: 40
Branch analysis from position: 31
Branch analysis from position: 22
Branch analysis from position: 13
filename:       /in/iq1XJ
function name:  (null)
number of ops:  153
compiled vars:  !0 = $_rows, !1 = $_sub_categories, !2 = $i, !3 = $_row, !4 = $_subcat, !5 = $j, !6 = $_sub_category
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    3     1        ASSIGN                                                   !1, <array>
    5     2        ASSIGN                                                   !2, 1
          3      > JMP                                                      ->95
    7     4    >   INIT_FCALL                                               'in_array'
          5        SEND_VAR                                                 !2
          6        SEND_VAL                                                 <array>
          7        DO_ICALL                                         $10     
          8      > JMPZ                                                     $10, ->13
    8     9    >   CONCAT                                           ~13     'Category+', !2
         10        FETCH_DIM_W                                      $11     !0, 'row1'
         11        ASSIGN_DIM                                               $11
         12        OP_DATA                                                  ~13
   11    13    >   INIT_FCALL                                               'in_array'
         14        SEND_VAR                                                 !2
         15        SEND_VAL                                                 <array>
         16        DO_ICALL                                         $14     
         17      > JMPZ                                                     $14, ->22
   12    18    >   CONCAT                                           ~17     'Category+', !2
         19        FETCH_DIM_W                                      $15     !0, 'row2'
         20        ASSIGN_DIM                                               $15
         21        OP_DATA                                                  ~17
   15    22    >   INIT_FCALL                                               'in_array'
         23        SEND_VAR                                                 !2
         24        SEND_VAL                                                 <array>
         25        DO_ICALL                                         $18     
         26      > JMPZ                                                     $18, ->31
   16    27    >   CONCAT                                           ~21     'Category+', !2
         28        FETCH_DIM_W                                      $19     !0, 'row3'
         29        ASSIGN_DIM                                               $19
         30        OP_DATA                                                  ~21
   19    31    >   INIT_FCALL                                               'in_array'
         32        SEND_VAR                                                 !2
         33        SEND_VAL                                                 <array>
         34        DO_ICALL                                         $22     
         35      > JMPZ                                                     $22, ->40
   20    36    >   CONCAT                                           ~25     'Category+', !2
         37        FETCH_DIM_W                                      $23     !0, 'row4'
         38        ASSIGN_DIM                                               $23
         39        OP_DATA                                                  ~25
   23    40    >   INIT_FCALL                                               'in_array'
         41        SEND_VAR                                                 !2
         42        SEND_VAL                                                 <array>
         43        DO_ICALL                                         $26     
         44      > JMPZ                                                     $26, ->49
   24    45    >   CONCAT                                           ~29     'Category+', !2
         46        FETCH_DIM_W                                      $27     !0, 'row5'
         47        ASSIGN_DIM                                               $27
         48        OP_DATA                                                  ~29
   27    49    >   INIT_FCALL                                               'in_array'
         50        SEND_VAR                                                 !2
         51        SEND_VAL                                                 <array>
         52        DO_ICALL                                         $30     
         53      > JMPZ                                                     $30, ->58
   28    54    >   CONCAT                                           ~33     'Category+', !2
         55        FETCH_DIM_W                                      $31     !0, 'row6'
         56        ASSIGN_DIM                                               $31
         57        OP_DATA                                                  ~33
   31    58    >   INIT_FCALL                                               'in_array'
         59        SEND_VAR                                                 !2
         60        SEND_VAL                                                 <array>
         61        DO_ICALL                                         $34     
         62      > JMPZ                                                     $34, ->67
   32    63    >   CONCAT                                           ~37     'Category+', !2
         64        FETCH_DIM_W                                      $35     !0, 'row7'
         65        ASSIGN_DIM                                               $35
         66        OP_DATA                                                  ~37
   35    67    >   INIT_FCALL                                               'in_array'
         68        SEND_VAR                                                 !2
         69        SEND_VAL                                                 <array>
         70        DO_ICALL                                         $38     
         71      > JMPZ                                                     $38, ->76
   36    72    >   CONCAT                                           ~41     'Category+', !2
         73        FETCH_DIM_W                                      $39     !0, 'row8'
         74        ASSIGN_DIM                                               $39
         75        OP_DATA                                                  ~41
   39    76    >   INIT_FCALL                                               'in_array'
         77        SEND_VAR                                                 !2
         78        SEND_VAL                                                 <array>
         79        DO_ICALL                                         $42     
         80      > JMPZ                                                     $42, ->85
   40    81    >   CONCAT                                           ~45     'Category+', !2
         82        FETCH_DIM_W                                      $43     !0, 'row9'
         83        ASSIGN_DIM                                               $43
         84        OP_DATA                                                  ~45
   44    85    >   INIT_FCALL                                               'in_array'
         86        SEND_VAR                                                 !2
         87        SEND_VAL                                                 <array>
         88        DO_ICALL                                         $46     
         89      > JMPZ                                                     $46, ->94
   45    90    >   CONCAT                                           ~49     'Category+', !2
         91        FETCH_DIM_W                                      $47     !0, 'row10'
         92        ASSIGN_DIM                                               $47
         93        OP_DATA                                                  ~49
    5    94    >   PRE_INC                                                  !2
         95    >   IS_SMALLER_OR_EQUAL                                      !2, 28
         96      > JMPNZ                                                    ~51, ->4
   50    97    >   INIT_FCALL                                               'print_r'
         98        SEND_VAR                                                 !0
         99        DO_ICALL                                                 
   52   100      > FE_RESET_R                                       $53     !0, ->131
        101    > > FE_FETCH_R                                               $53, !3, ->131
   53   102    >   INIT_FCALL                                               'key'
        103        SEND_VAR                                                 !3
        104        DO_ICALL                                         $54     
        105        IN_ARRAY                                                 $54, <array>
        106      > JMPZ                                                     ~55, ->109
   54   107    >   ASSIGN_DIM                                               !1
        108        OP_DATA                                                  !3
   57   109    >   INIT_FCALL                                               'key'
        110        SEND_VAR                                                 !3
        111        DO_ICALL                                         $57     
        112        IN_ARRAY                                                 $57, <array>
        113      > JMPZ                                                     ~58, ->116
   58   114    >   ASSIGN_DIM                                               !1
        115        OP_DATA                                                  !3
   61   116    >   INIT_FCALL                                               'key'
        117        SEND_VAR                                                 !3
        118        DO_ICALL                                         $60     
        119        IN_ARRAY                                                 $60, <array>
        120      > JMPZ                                                     ~61, ->123
   62   121    >   ASSIGN_DIM                                               !1
        122        OP_DATA                                                  !3
   65   123    >   INIT_FCALL                                               'key'
        124        SEND_VAR                                                 !3
        125        DO_ICALL                                         $63     
        126        IN_ARRAY                                                 $63, <array>
        127      > JMPZ                                                     ~64, ->130
   66   128    >   ASSIGN_DIM                                               !1
        129        OP_DATA                                                  !3
   52   130    > > JMP                                                      ->101
        131    >   FE_FREE                                                  $53
   74   132      > FE_RESET_R                                       $66     !1, ->151
        133    > > FE_FETCH_R                                               $66, !4, ->151
   75   134    >   ECHO                                                     '++++%3Cul%3E%0A++++++++'
   76   135        ASSIGN                                                   !5, 0
   77   136        ECHO                                                     '++++++++'
        137      > FE_RESET_R                                       $68     !4, ->148
        138    > > FE_FETCH_R                                               $68, !6, ->148
        139    >   PRE_INC                                                  !5
   78   140        ECHO                                                     '++++++++%3Cli+'
        141        IS_EQUAL                                                 !5, 1
        142      > JMPZ                                                     ~70, ->144
        143    >   ECHO                                                     'class%3D%22first%22'
        144    >   ECHO                                                     '%3E'
        145        ECHO                                                     !6
        146        ECHO                                                     '%3C%2Fli%3E%0A++++%09'
   77   147      > JMP                                                      ->138
        148    >   FE_FREE                                                  $68
   80   149        ECHO                                                     '++++%3C%2Ful%3E%0A'
   74   150      > JMP                                                      ->133
        151    >   FE_FREE                                                  $66
   81   152      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
158.53 ms | 1412 KiB | 19 Q