3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pages->total_pages = 30; $pages->current = 15; $displayPageFrom = (($pages->current <= 10) ? 1 : (floor($pages->current / 10) * 10)); $displayGroupCount = ((floor($pages->total_pages / 10)) + (($pages->total_pages % 10) ? 1 : 0 )); for ($index = 1; $index < $displayGroupCount; $index++) { $displayGroupPageFrom = (($index == 1) ? 1 : ($index * 10)); $displayGroupPageTo = (($index == 1) ? 10 : ($displayGroupPageFrom + 10)); $displayGroupPageTo = (($displayGroupPageTo > $pages->total_pages) ? ($displayGroupPageFrom + (10 - ($displayGroupPageTo - $pages->total_pages))) : $displayGroupPageTo); $output[] = '<li' . (($displayGroupPageFrom == $displayPageFrom) ? ' class="active"' : '') . '>' . $displayGroupPageFrom . ' - ' . $displayGroupPageTo . '</li>'; } var_dump($output);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 71
Branch analysis from position: 71
2 jumps found. (Code = 44) Position 1 = 73, Position 2 = 32
Branch analysis from position: 73
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 36
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 45
Branch analysis from position: 45
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 55
Branch analysis from position: 49
1 jumps found. (Code = 42) Position 1 = 56
Branch analysis from position: 56
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 61
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
2 jumps found. (Code = 44) Position 1 = 73, Position 2 = 32
Branch analysis from position: 73
Branch analysis from position: 32
Branch analysis from position: 61
2 jumps found. (Code = 44) Position 1 = 73, Position 2 = 32
Branch analysis from position: 73
Branch analysis from position: 32
Branch analysis from position: 55
2 jumps found. (Code = 43) Position 1 = 59, Position 2 = 61
Branch analysis from position: 59
Branch analysis from position: 61
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 55
Branch analysis from position: 49
Branch analysis from position: 55
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 43
Branch analysis from position: 41
Branch analysis from position: 43
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 71
Branch analysis from position: 71
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
Branch analysis from position: 27
filename:       /in/1H6Ze
function name:  (null)
number of ops:  77
compiled vars:  !0 = $pages, !1 = $displayPageFrom, !2 = $displayGroupCount, !3 = $index, !4 = $displayGroupPageFrom, !5 = $displayGroupPageTo, !6 = $output
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN_OBJ                                               !0, 'total_pages'
          1        OP_DATA                                                  30
    3     2        ASSIGN_OBJ                                               !0, 'current'
          3        OP_DATA                                                  15
    4     4        FETCH_OBJ_R                                      ~9      !0, 'current'
          5        IS_SMALLER_OR_EQUAL                                      ~9, 10
          6      > JMPZ                                                     ~10, ->9
          7    >   QM_ASSIGN                                        ~11     1
          8      > JMP                                                      ->16
          9    >   INIT_FCALL                                               'floor'
         10        FETCH_OBJ_R                                      ~12     !0, 'current'
         11        DIV                                              ~13     ~12, 10
         12        SEND_VAL                                                 ~13
         13        DO_ICALL                                         $14     
         14        MUL                                              ~15     $14, 10
         15        QM_ASSIGN                                        ~11     ~15
         16    >   ASSIGN                                                   !1, ~11
    5    17        INIT_FCALL                                               'floor'
         18        FETCH_OBJ_R                                      ~17     !0, 'total_pages'
         19        DIV                                              ~18     ~17, 10
         20        SEND_VAL                                                 ~18
         21        DO_ICALL                                         $19     
         22        FETCH_OBJ_R                                      ~20     !0, 'total_pages'
         23        MOD                                              ~21     ~20, 10
         24      > JMPZ                                                     ~21, ->27
         25    >   QM_ASSIGN                                        ~22     1
         26      > JMP                                                      ->28
         27    >   QM_ASSIGN                                        ~22     0
         28    >   ADD                                              ~23     $19, ~22
         29        ASSIGN                                                   !2, ~23
    7    30        ASSIGN                                                   !3, 1
         31      > JMP                                                      ->71
    8    32    >   IS_EQUAL                                                 !3, 1
         33      > JMPZ                                                     ~26, ->36
         34    >   QM_ASSIGN                                        ~27     1
         35      > JMP                                                      ->38
         36    >   MUL                                              ~28     !3, 10
         37        QM_ASSIGN                                        ~27     ~28
         38    >   ASSIGN                                                   !4, ~27
    9    39        IS_EQUAL                                                 !3, 1
         40      > JMPZ                                                     ~30, ->43
         41    >   QM_ASSIGN                                        ~31     10
         42      > JMP                                                      ->45
         43    >   ADD                                              ~32     !4, 10
         44        QM_ASSIGN                                        ~31     ~32
         45    >   ASSIGN                                                   !5, ~31
   10    46        FETCH_OBJ_R                                      ~34     !0, 'total_pages'
         47        IS_SMALLER                                               ~34, !5
         48      > JMPZ                                                     ~35, ->55
         49    >   FETCH_OBJ_R                                      ~36     !0, 'total_pages'
         50        SUB                                              ~37     !5, ~36
         51        SUB                                              ~38     10, ~37
         52        ADD                                              ~39     !4, ~38
         53        QM_ASSIGN                                        ~40     ~39
         54      > JMP                                                      ->56
         55    >   QM_ASSIGN                                        ~40     !5
         56    >   ASSIGN                                                   !5, ~40
   12    57        IS_EQUAL                                                 !4, !1
         58      > JMPZ                                                     ~43, ->61
         59    >   QM_ASSIGN                                        ~44     '+class%3D%22active%22'
         60      > JMP                                                      ->62
         61    >   QM_ASSIGN                                        ~44     ''
         62    >   CONCAT                                           ~45     '%3Cli', ~44
         63        CONCAT                                           ~46     ~45, '%3E'
         64        CONCAT                                           ~47     ~46, !4
         65        CONCAT                                           ~48     ~47, '+-+'
         66        CONCAT                                           ~49     ~48, !5
         67        CONCAT                                           ~50     ~49, '%3C%2Fli%3E'
         68        ASSIGN_DIM                                               !6
         69        OP_DATA                                                  ~50
    7    70        PRE_INC                                                  !3
         71    >   IS_SMALLER                                               !3, !2
         72      > JMPNZ                                                    ~52, ->32
   14    73    >   INIT_FCALL                                               'var_dump'
         74        SEND_VAR                                                 !6
         75        DO_ICALL                                                 
         76      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
165.12 ms | 1404 KiB | 17 Q