3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php for ( $i = 0; $i < 9000; $i++ ) { $test_array[ "key$i" ] = $i; } $test1 = $test_array; for ( $i = 0; $i < 9000; $i++ ) { $k = key($test1); $dummy = $test1[$k]; unset($test1[$k]); }
based on 15D8C
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 10, Position 2 = 2
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 13
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 13
Branch analysis from position: 24
Branch analysis from position: 13
Branch analysis from position: 2
2 jumps found. (Code = 44) Position 1 = 10, Position 2 = 2
Branch analysis from position: 10
Branch analysis from position: 2
filename:       /in/1E4WW
function name:  (null)
number of ops:  25
compiled vars:  !0 = $i, !1 = $test_array, !2 = $test1, !3 = $k, !4 = $dummy
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   ASSIGN                                                   !0, 0
         1      > JMP                                                      ->8
   4     2    >   NOP                                                      
         3        FAST_CONCAT                                      ~6      'key', !0
         4        ASSIGN_DIM                                               !1, ~6
         5        OP_DATA                                                  !0
   3     6        POST_INC                                         ~8      !0
         7        FREE                                                     ~8
         8    >   IS_SMALLER                                       ~9      !0, 9000
         9      > JMPNZ                                                    ~9, ->2
   6    10    >   ASSIGN                                                   !2, !1
   8    11        ASSIGN                                                   !0, 0
        12      > JMP                                                      ->22
   9    13    >   INIT_FCALL                                               'key'
        14        SEND_VAR                                                 !2
        15        DO_ICALL                                         $12     
        16        ASSIGN                                                   !3, $12
  10    17        FETCH_DIM_R                                      $14     !2, !3
        18        ASSIGN                                                   !4, $14
  11    19        UNSET_DIM                                                !2, !3
   8    20        POST_INC                                         ~16     !0
        21        FREE                                                     ~16
        22    >   IS_SMALLER                                       ~17     !0, 9000
        23      > JMPNZ                                                    ~17, ->13
  12    24    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.3.0