3v4l.org

run code in 300+ PHP versions simultaneously
<?php $rows = array_fill(0, 3, array_fill('a', 'z', 'value')); print_r($value);die; $start1 = microtime(true); for ($i = 0; $i < 10000; ++$i) { $data = array_column($array, 0); } $end1 = microtime(true); echo 'array_column: ', $end1 - $start1, "\n"; $start2 = microtime(true); for ($i = 0; $i < 10000; ++$i) { $data = array(); foreach ($array as $r) { $data[] = $r[0]; } } $end2 = microtime(true); echo 'foreach: ', $end2 - $start2, "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/oGXlZ
function name:  (null)
number of ops:  63
compiled vars:  !0 = $rows, !1 = $value, !2 = $start1, !3 = $i, !4 = $data, !5 = $array, !6 = $end1, !7 = $start2, !8 = $r, !9 = $end2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'array_fill'
          1        SEND_VAL                                                 0
          2        SEND_VAL                                                 3
          3        INIT_FCALL                                               'array_fill'
          4        SEND_VAL                                                 'a'
          5        SEND_VAL                                                 'z'
          6        SEND_VAL                                                 'value'
          7        DO_ICALL                                         $10     
          8        SEND_VAR                                                 $10
          9        DO_ICALL                                         $11     
         10        ASSIGN                                                   !0, $11
    4    11        INIT_FCALL                                               'print_r'
         12        SEND_VAR                                                 !1
         13        DO_ICALL                                                 
         14      > EXIT                                                     
    6    15*       INIT_FCALL                                               'microtime'
         16*       SEND_VAL                                                 <true>
         17*       DO_ICALL                                         $14     
         18*       ASSIGN                                                   !2, $14
    7    19*       ASSIGN                                                   !3, 0
         20*       JMP                                                      ->27
    8    21*       INIT_FCALL                                               'array_column'
         22*       SEND_VAR                                                 !5
         23*       SEND_VAL                                                 0
         24*       DO_ICALL                                         $17     
         25*       ASSIGN                                                   !4, $17
    7    26*       PRE_INC                                                  !3
         27*       IS_SMALLER                                               !3, 10000
         28*       JMPNZ                                                    ~20, ->21
   10    29*       INIT_FCALL                                               'microtime'
         30*       SEND_VAL                                                 <true>
         31*       DO_ICALL                                         $21     
         32*       ASSIGN                                                   !6, $21
   11    33*       ECHO                                                     'array_column%3A+'
         34*       SUB                                              ~23     !6, !2
         35*       ECHO                                                     ~23
         36*       ECHO                                                     '%0A'
   13    37*       INIT_FCALL                                               'microtime'
         38*       SEND_VAL                                                 <true>
         39*       DO_ICALL                                         $24     
         40*       ASSIGN                                                   !7, $24
   14    41*       ASSIGN                                                   !3, 0
         42*       JMP                                                      ->52
   15    43*       ASSIGN                                                   !4, <array>
   16    44*       FE_RESET_R                                       $28     !5, ->50
         45*       FE_FETCH_R                                               $28, !8, ->50
   17    46*       FETCH_DIM_R                                      ~30     !8, 0
         47*       ASSIGN_DIM                                               !4
         48*       OP_DATA                                                  ~30
   16    49*       JMP                                                      ->45
         50*       FE_FREE                                                  $28
   14    51*       PRE_INC                                                  !3
         52*       IS_SMALLER                                               !3, 10000
         53*       JMPNZ                                                    ~32, ->43
   20    54*       INIT_FCALL                                               'microtime'
         55*       SEND_VAL                                                 <true>
         56*       DO_ICALL                                         $33     
         57*       ASSIGN                                                   !9, $33
   21    58*       ECHO                                                     'foreach%3A+'
         59*       SUB                                              ~35     !9, !7
         60*       ECHO                                                     ~35
         61*       ECHO                                                     '%0A'
         62*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.57 ms | 1400 KiB | 21 Q