3v4l.org

run code in 500+ PHP versions simultaneously
<?php for ($n = 0; $n <= 15; $n ++) { echo("============= $n items ============\n"); distribute($n); } function distribute($number) { $counter = 0; for ($i = 1; $i <= $number; $i++) { // before a group of three, $counter is a multiple of three if ($counter % 3 == 0) { echo "<div>\n"; } // process the item then count it echo " do stuff\n"; $counter ++; // after a group of three, $counter is a multiple of three if ($counter % 3 == 0) { echo "</div>\n"; } } // close the last group if it is not complete if ($counter % 3 != 0) { echo "<div>\n"; } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 2
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 2
Branch analysis from position: 12
Branch analysis from position: 2
filename:       /in/L7oZe
function name:  (null)
number of ops:  13
compiled vars:  !0 = $n
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 0
          1      > JMP                                                          ->10
    4     2    >   ROPE_INIT                                         3  ~3      '%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+'
          3        ROPE_ADD                                          1  ~3      ~3, !0
          4        ROPE_END                                          2  ~2      ~3, '+items+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A'
          5        ECHO                                                         ~2
    5     6        INIT_FCALL_BY_NAME                                           'distribute'
          7        SEND_VAR_EX                                                  !0
          8        DO_FCALL                                          0          
    3     9        PRE_INC                                                      !0
         10    >   IS_SMALLER_OR_EQUAL                                          !0, 15
         11      > JMPNZ                                                        ~7, ->2
   32    12    > > RETURN                                                       1

Function distribute:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 4
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 21
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 8
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 14
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 4
Branch analysis from position: 17
Branch analysis from position: 4
Branch analysis from position: 14
Branch analysis from position: 8
filename:       /in/L7oZe
function name:  distribute
number of ops:  22
compiled vars:  !0 = $number, !1 = $counter, !2 = $i
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    9     0  E >   RECV                                                 !0      
   10     1        ASSIGN                                                       !1, 0
   12     2        ASSIGN                                                       !2, 1
          3      > JMP                                                          ->15
   14     4    >   MOD                                                  ~5      !1, 3
          5        IS_EQUAL                                                     ~5, 0
          6      > JMPZ                                                         ~6, ->8
   15     7    >   ECHO                                                         '%3Cdiv%3E%0A'
   19     8    >   ECHO                                                         '+++do+stuff%0A'
   20     9        PRE_INC                                                      !1
   23    10        MOD                                                  ~8      !1, 3
         11        IS_EQUAL                                                     ~8, 0
         12      > JMPZ                                                         ~9, ->14
   24    13    >   ECHO                                                         '%3C%2Fdiv%3E%0A'
   12    14    >   PRE_INC                                                      !2
         15    >   IS_SMALLER_OR_EQUAL                                          !2, !0
         16      > JMPNZ                                                        ~11, ->4
   29    17    >   MOD                                                  ~12     !1, 3
         18        IS_NOT_EQUAL                                                 ~12, 0
         19      > JMPZ                                                         ~13, ->21
   30    20    >   ECHO                                                         '%3Cdiv%3E%0A'
   32    21    > > RETURN                                                       null

End of function distribute

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
170.26 ms | 2717 KiB | 13 Q