3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr='[{"sku":"Pizza001","position":0,"category_id":"67"},{"sku":"Birthday Cake","position":0,"category_id":"67"},{"sku":"Birthday Cake-1","position":0,"category_id":"67"},{"sku":"Fruit cake","position":0,"category_id":"67"},{"sku":"Birthday Cake for Gift","position":0,"category_id":"67"}]'; $raw_data = json_decode($arr, true); echo "Page 1\n"; paginate($raw_data,1); echo "Page 2\n"; paginate($raw_data,2); echo "Page 3\n"; paginate($raw_data,3); function paginate($data, $page = 2, $perPage = 2) { $x = ($page - 1) * $perPage; $z = $page * $perPage; $y = ($z > count($data)) ? count($data) : $z; for(; $x < $y; $x++) { print_r($data[$x]); } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Aereb
function name:  (null)
number of ops:  22
compiled vars:  !0 = $arr, !1 = $raw_data
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '%5B%7B%22sku%22%3A%22Pizza001%22%2C%22position%22%3A0%2C%22category_id%22%3A%2267%22%7D%2C%7B%22sku%22%3A%22Birthday+Cake%22%2C%22position%22%3A0%2C%22category_id%22%3A%2267%22%7D%2C%7B%22sku%22%3A%22Birthday+Cake-1%22%2C%22position%22%3A0%2C%22category_id%22%3A%2267%22%7D%2C%7B%22sku%22%3A%22Fruit+cake%22%2C%22position%22%3A0%2C%22category_id%22%3A%2267%22%7D%2C%7B%22sku%22%3A%22Birthday+Cake+for+Gift%22%2C%22position%22%3A0%2C%22category_id%22%3A%2267%22%7D%5D'
    4     1        INIT_FCALL                                                   'json_decode'
          2        SEND_VAR                                                     !0
          3        SEND_VAL                                                     <true>
          4        DO_ICALL                                             $3      
          5        ASSIGN                                                       !1, $3
    5     6        ECHO                                                         'Page+1%0A'
    6     7        INIT_FCALL_BY_NAME                                           'paginate'
          8        SEND_VAR_EX                                                  !1
          9        SEND_VAL_EX                                                  1
         10        DO_FCALL                                          0          
    7    11        ECHO                                                         'Page+2%0A'
    8    12        INIT_FCALL_BY_NAME                                           'paginate'
         13        SEND_VAR_EX                                                  !1
         14        SEND_VAL_EX                                                  2
         15        DO_FCALL                                          0          
    9    16        ECHO                                                         'Page+3%0A'
   10    17        INIT_FCALL_BY_NAME                                           'paginate'
         18        SEND_VAR_EX                                                  !1
         19        SEND_VAL_EX                                                  3
         20        DO_FCALL                                          0          
   18    21      > RETURN                                                       1

Function paginate:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 14
Branch analysis from position: 11
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 17
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 17
Branch analysis from position: 24
Branch analysis from position: 17
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
filename:       /in/Aereb
function name:  paginate
number of ops:  25
compiled vars:  !0 = $data, !1 = $page, !2 = $perPage, !3 = $x, !4 = $z, !5 = $y
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   11     0  E >   RECV                                                 !0      
          1        RECV_INIT                                            !1      2
          2        RECV_INIT                                            !2      2
   12     3        SUB                                                  ~6      !1, 1
          4        MUL                                                  ~7      !2, ~6
          5        ASSIGN                                                       !3, ~7
   13     6        MUL                                                  ~9      !1, !2
          7        ASSIGN                                                       !4, ~9
   14     8        COUNT                                                ~11     !0
          9        IS_SMALLER                                                   ~11, !4
         10      > JMPZ                                                         ~12, ->14
         11    >   COUNT                                                ~13     !0
         12        QM_ASSIGN                                            ~14     ~13
         13      > JMP                                                          ->15
         14    >   QM_ASSIGN                                            ~14     !4
         15    >   ASSIGN                                                       !5, ~14
   15    16      > JMP                                                          ->22
   16    17    >   INIT_FCALL                                                   'print_r'
         18        FETCH_DIM_R                                          ~16     !0, !3
         19        SEND_VAL                                                     ~16
         20        DO_ICALL                                                     
   15    21        PRE_INC                                                      !3
         22    >   IS_SMALLER                                                   !3, !5
         23      > JMPNZ                                                        ~19, ->17
   18    24    > > RETURN                                                       null

End of function paginate

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
180.85 ms | 2728 KiB | 15 Q