3v4l.org

run code in 300+ PHP versions simultaneously
<?php //$arr = array(1,2,3,4,5,6,7,8,9,0); $arr = array(1,2,3,4,5,6,7, 8); $i = 0; $links_count = 4; $s = ''; while ($item = current($arr)) { $s .= !($i % $links_count) ? "<li>\n" : ""; $s .= "<a href='#'>$item</a>\n"; $s .= !(($i+1) % $links_count) ? "</li>\n" : ""; $i++; next($arr); } $s .= ($i % $links_count) ? "</li>\n" : ''; echo $s;
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 5
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 37
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 5
Branch analysis from position: 33
Branch analysis from position: 5
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 5
Branch analysis from position: 33
Branch analysis from position: 5
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 22
Branch analysis from position: 20
Branch analysis from position: 22
filename:       /in/Zlcud
function name:  (null)
number of ops:  41
compiled vars:  !0 = $arr, !1 = $i, !2 = $links_count, !3 = $s, !4 = $item
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
    5     1        ASSIGN                                                   !1, 0
    6     2        ASSIGN                                                   !2, 4
    7     3        ASSIGN                                                   !3, ''
    9     4      > JMP                                                      ->28
   10     5    >   MOD                                              ~9      !1, !2
          6        BOOL_NOT                                         ~10     ~9
          7      > JMPZ                                                     ~10, ->10
          8    >   QM_ASSIGN                                        ~11     '%3Cli%3E%0A'
          9      > JMP                                                      ->11
         10    >   QM_ASSIGN                                        ~11     ''
         11    >   ASSIGN_OP                                     8          !3, ~11
   11    12        ROPE_INIT                                     3  ~14     '%3Ca+href%3D%27%23%27%3E'
         13        ROPE_ADD                                      1  ~14     ~14, !4
         14        ROPE_END                                      2  ~13     ~14, '%3C%2Fa%3E%0A'
         15        ASSIGN_OP                                     8          !3, ~13
   12    16        ADD                                              ~17     !1, 1
         17        MOD                                              ~18     ~17, !2
         18        BOOL_NOT                                         ~19     ~18
         19      > JMPZ                                                     ~19, ->22
         20    >   QM_ASSIGN                                        ~20     '%3C%2Fli%3E%0A'
         21      > JMP                                                      ->23
         22    >   QM_ASSIGN                                        ~20     ''
         23    >   ASSIGN_OP                                     8          !3, ~20
   14    24        PRE_INC                                                  !1
   15    25        INIT_FCALL                                               'next'
         26        SEND_REF                                                 !0
         27        DO_ICALL                                                 
    9    28    >   INIT_FCALL                                               'current'
         29        SEND_VAR                                                 !0
         30        DO_ICALL                                         $24     
         31        ASSIGN                                           ~25     !4, $24
         32      > JMPNZ                                                    ~25, ->5
   18    33    >   MOD                                              ~26     !1, !2
         34      > JMPZ                                                     ~26, ->37
         35    >   QM_ASSIGN                                        ~27     '%3C%2Fli%3E%0A'
         36      > JMP                                                      ->38
         37    >   QM_ASSIGN                                        ~27     ''
         38    >   ASSIGN_OP                                     8          !3, ~27
   20    39        ECHO                                                     !3
         40      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.32 ms | 1400 KiB | 17 Q