3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 21, Position 2 = 52
Branch analysis from position: 21
2 jumps found. (Code = 78) Position 1 = 22, Position 2 = 52
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 29, Position 2 = 43
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 42
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
Branch analysis from position: 42
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
Branch analysis from position: 52
2 jumps found. (Code = 77) Position 1 = 57, Position 2 = 68
Branch analysis from position: 57
2 jumps found. (Code = 78) Position 1 = 58, Position 2 = 68
Branch analysis from position: 58
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 67
Branch analysis from position: 66
1 jumps found. (Code = 42) Position 1 = 57
Branch analysis from position: 57
Branch analysis from position: 67
Branch analysis from position: 68
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 68
Branch analysis from position: 52
filename:       /in/d4Wf2
function name:  (null)
number of ops:  72
compiled vars:  !0 = $rowData, !1 = $storeTracker, !2 = $storeData, !3 = $key, !4 = $storeCategory, !5 = $storeId, !6 = $jsonReturn, !7 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ASSIGN                                                   !0, <array>
    5     1        ASSIGN_DIM                                               !0
          2        OP_DATA                                                  <array>
    6     3        ASSIGN_DIM                                               !0
          4        OP_DATA                                                  <array>
    7     5        ASSIGN_DIM                                               !0
          6        OP_DATA                                                  <array>
    8     7        ASSIGN_DIM                                               !0
          8        OP_DATA                                                  <array>
    9     9        ASSIGN_DIM                                               !0
         10        OP_DATA                                                  <array>
   10    11        ASSIGN_DIM                                               !0
         12        OP_DATA                                                  <array>
   11    13        ASSIGN_DIM                                               !0
         14        OP_DATA                                                  <array>
   12    15        ASSIGN_DIM                                               !0
         16        OP_DATA                                                  <array>
   13    17        ASSIGN_DIM                                               !0
         18        OP_DATA                                                  <array>
   27    19        ASSIGN                                                   !1, <array>
   28    20      > FE_RESET_R                                       $19     !0, ->52
         21    > > FE_FETCH_R                                       ~20     $19, !2, ->52
         22    >   ASSIGN                                                   !3, ~20
   30    23        FETCH_DIM_R                                      ~22     !2, 'categories'
         24        ASSIGN                                                   !4, ~22
   31    25        FETCH_DIM_R                                      ~24     !2, 'id'
         26        ASSIGN                                                   !5, ~24
   34    27        ARRAY_KEY_EXISTS                                         !5, !1
         28      > JMPZ                                                     ~26, ->43
   35    29    >   INIT_FCALL                                               'categoryexistsalready'
         30        FETCH_DIM_R                                      ~27     !1, !5
         31        FETCH_DIM_R                                      ~28     ~27, 'categories'
         32        SEND_VAL                                                 ~28
         33        SEND_VAR                                                 !4
         34        DO_FCALL                                      0  $29     
         35        BOOL_NOT                                         ~30     $29
         36      > JMPZ                                                     ~30, ->42
   36    37    >   INIT_ARRAY                                       ~34     !4, 'name'
         38        FETCH_DIM_W                                      $31     !1, !5
         39        FETCH_DIM_W                                      $32     $31, 'categories'
         40        ASSIGN_DIM                                               $32
         41        OP_DATA                                                  ~34
   38    42    > > JMP                                                      ->21
   42    43    >   ASSIGN_DIM                                               !2, 'categories'
         44        OP_DATA                                                  <array>
   43    45        INIT_ARRAY                                       ~38     !4, 'name'
         46        FETCH_DIM_W                                      $36     !2, 'categories'
         47        ASSIGN_DIM                                               $36
         48        OP_DATA                                                  ~38
   46    49        ASSIGN_DIM                                               !1, !5
         50        OP_DATA                                                  !2
   28    51      > JMP                                                      ->21
         52    >   FE_FREE                                                  $19
   50    53        ASSIGN                                                   !6, '%5B'
   51    54        COUNT                                            ~41     !1
         55        ASSIGN                                                   !7, ~41
   52    56      > FE_RESET_R                                       $43     !1, ->68
         57    > > FE_FETCH_R                                       ~44     $43, !2, ->68
         58    >   ASSIGN                                                   !5, ~44
   53    59        PRE_DEC                                                  !7
   54    60        INIT_FCALL                                               'json_encode'
         61        SEND_VAR                                                 !2
         62        DO_ICALL                                         $47     
         63        ASSIGN_OP                                     8          !6, $47
   56    64        IS_SMALLER                                               0, !7
         65      > JMPZ                                                     ~49, ->67
   57    66    >   ASSIGN_OP                                     8          !6, '%2C'
   52    67    > > JMP                                                      ->57
         68    >   FE_FREE                                                  $43
   60    69        ASSIGN_OP                                     8          !6, '%5D'
   62    70        ECHO                                                     !6
   63    71      > RETURN                                                   1

Function categoryexistsalready:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 17
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 17
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
filename:       /in/d4Wf2
function name:  categoryExistsAlready
number of ops:  20
compiled vars:  !0 = $categories, !1 = $category, !2 = $catArr, !3 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   18     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   19     2      > FE_RESET_R                                       $4      !0, ->17
          3    > > FE_FETCH_R                                       ~5      $4, !2, ->17
          4    >   ASSIGN                                                   !3, ~5
   20     5        INIT_FCALL                                               'strtolower'
          6        FETCH_DIM_R                                      ~7      !2, 'name'
          7        SEND_VAL                                                 ~7
          8        DO_ICALL                                         $8      
          9        INIT_FCALL                                               'strtolower'
         10        SEND_VAR                                                 !1
         11        DO_ICALL                                         $9      
         12        IS_IDENTICAL                                             $8, $9
         13      > JMPZ                                                     ~10, ->16
   21    14    >   FE_FREE                                                  $4
         15      > RETURN                                                   <true>
   19    16    > > JMP                                                      ->3
         17    >   FE_FREE                                                  $4
   24    18      > RETURN                                                   <false>
   25    19*     > RETURN                                                   null

End of function categoryexistsalready

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
267.31 ms | 981 KiB | 16 Q