3v4l.org

run code in 300+ PHP versions simultaneously
<?php function say($str) { echo $str, "\n"; } $var1 = '123'; $var2 = '456A'; $var3 = '78'; $var4 = (float) $var2; $var5 = (int) $var2; say("$var2 converted to float is: $var4"); say("$var2 converted to int is: $var5"); $var6 = 456; if ($var4 === $var6) { say("var4 $var4 === var6 $var6"); } if ($var5 === $var6) { say("var5 $var5 === var6 $var6"); } if ($var1 < $var2) { say("$var1 < $var2"); } if ($var2 < $var3) { say("$var2 < $var3"); } if ($var6 < $var3) { say("$var6 < $var3"); } if ($var3 < $var1) { say("$var3 < $var1"); } if ($var3 > $var2) { say("$var3 > $var2"); } say ("stop"); if ($var4 < $var3) { say("$var4 < $var3"); } if ($var5 < $var3) { say("$var5 < $var3"); } if ($var3 < $var1) { say("$var3 < $var1"); } say("therefore, as expected,"); if ($var2 < $var3) { say("$var2 < $var3"); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 29
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 38
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 46
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 48, Position 2 = 54
Branch analysis from position: 48
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 62
Branch analysis from position: 56
2 jumps found. (Code = 43) Position 1 = 64, Position 2 = 70
Branch analysis from position: 64
2 jumps found. (Code = 43) Position 1 = 72, Position 2 = 78
Branch analysis from position: 72
2 jumps found. (Code = 43) Position 1 = 83, Position 2 = 89
Branch analysis from position: 83
2 jumps found. (Code = 43) Position 1 = 91, Position 2 = 97
Branch analysis from position: 91
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 105
Branch analysis from position: 99
2 jumps found. (Code = 43) Position 1 = 110, Position 2 = 116
Branch analysis from position: 110
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 116
Branch analysis from position: 105
Branch analysis from position: 97
Branch analysis from position: 89
Branch analysis from position: 78
Branch analysis from position: 70
Branch analysis from position: 62
Branch analysis from position: 54
Branch analysis from position: 46
Branch analysis from position: 38
Branch analysis from position: 29
filename:       /in/VQ7cu
function name:  (null)
number of ops:  117
compiled vars:  !0 = $var1, !1 = $var2, !2 = $var3, !3 = $var4, !4 = $var5, !5 = $var6
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   ASSIGN                                                   !0, '123'
    6     1        ASSIGN                                                   !1, '456A'
    7     2        ASSIGN                                                   !2, '78'
    9     3        CAST                                          5  ~9      !1
          4        ASSIGN                                                   !3, ~9
   10     5        CAST                                          4  ~11     !1
          6        ASSIGN                                                   !4, ~11
   11     7        INIT_FCALL                                               'say'
          8        ROPE_INIT                                     3  ~14     !1
          9        ROPE_ADD                                      1  ~14     ~14, '+converted+to+float+is%3A+'
         10        ROPE_END                                      2  ~13     ~14, !3
         11        SEND_VAL                                                 ~13
         12        DO_FCALL                                      0          
   12    13        INIT_FCALL                                               'say'
         14        ROPE_INIT                                     3  ~18     !1
         15        ROPE_ADD                                      1  ~18     ~18, '+converted+to+int+is%3A+'
         16        ROPE_END                                      2  ~17     ~18, !4
         17        SEND_VAL                                                 ~17
         18        DO_FCALL                                      0          
   14    19        ASSIGN                                                   !5, 456
   15    20        IS_IDENTICAL                                             !3, !5
         21      > JMPZ                                                     ~22, ->29
         22    >   INIT_FCALL                                               'say'
         23        ROPE_INIT                                     4  ~24     'var4+'
         24        ROPE_ADD                                      1  ~24     ~24, !3
         25        ROPE_ADD                                      2  ~24     ~24, '+%3D%3D%3D+var6+'
         26        ROPE_END                                      3  ~23     ~24, !5
         27        SEND_VAL                                                 ~23
         28        DO_FCALL                                      0          
   16    29    >   IS_IDENTICAL                                             !4, !5
         30      > JMPZ                                                     ~27, ->38
         31    >   INIT_FCALL                                               'say'
         32        ROPE_INIT                                     4  ~29     'var5+'
         33        ROPE_ADD                                      1  ~29     ~29, !4
         34        ROPE_ADD                                      2  ~29     ~29, '+%3D%3D%3D+var6+'
         35        ROPE_END                                      3  ~28     ~29, !5
         36        SEND_VAL                                                 ~28
         37        DO_FCALL                                      0          
   18    38    >   IS_SMALLER                                               !0, !1
         39      > JMPZ                                                     ~32, ->46
         40    >   INIT_FCALL                                               'say'
         41        ROPE_INIT                                     3  ~34     !0
         42        ROPE_ADD                                      1  ~34     ~34, '+%3C+'
         43        ROPE_END                                      2  ~33     ~34, !1
         44        SEND_VAL                                                 ~33
         45        DO_FCALL                                      0          
   19    46    >   IS_SMALLER                                               !1, !2
         47      > JMPZ                                                     ~37, ->54
         48    >   INIT_FCALL                                               'say'
         49        ROPE_INIT                                     3  ~39     !1
         50        ROPE_ADD                                      1  ~39     ~39, '+%3C+'
         51        ROPE_END                                      2  ~38     ~39, !2
         52        SEND_VAL                                                 ~38
         53        DO_FCALL                                      0          
   20    54    >   IS_SMALLER                                               !5, !2
         55      > JMPZ                                                     ~42, ->62
         56    >   INIT_FCALL                                               'say'
         57        ROPE_INIT                                     3  ~44     !5
         58        ROPE_ADD                                      1  ~44     ~44, '+%3C+'
         59        ROPE_END                                      2  ~43     ~44, !2
         60        SEND_VAL                                                 ~43
         61        DO_FCALL                                      0          
   21    62    >   IS_SMALLER                                               !2, !0
         63      > JMPZ                                                     ~47, ->70
         64    >   INIT_FCALL                                               'say'
         65        ROPE_INIT                                     3  ~49     !2
         66        ROPE_ADD                                      1  ~49     ~49, '+%3C+'
         67        ROPE_END                                      2  ~48     ~49, !0
         68        SEND_VAL                                                 ~48
         69        DO_FCALL                                      0          
   22    70    >   IS_SMALLER                                               !1, !2
         71      > JMPZ                                                     ~52, ->78
         72    >   INIT_FCALL                                               'say'
         73        ROPE_INIT                                     3  ~54     !2
         74        ROPE_ADD                                      1  ~54     ~54, '+%3E+'
         75        ROPE_END                                      2  ~53     ~54, !1
         76        SEND_VAL                                                 ~53
         77        DO_FCALL                                      0          
   24    78    >   INIT_FCALL                                               'say'
         79        SEND_VAL                                                 'stop'
         80        DO_FCALL                                      0          
   25    81        IS_SMALLER                                               !3, !2
         82      > JMPZ                                                     ~58, ->89
         83    >   INIT_FCALL                                               'say'
         84        ROPE_INIT                                     3  ~60     !3
         85        ROPE_ADD                                      1  ~60     ~60, '+%3C+'
         86        ROPE_END                                      2  ~59     ~60, !2
         87        SEND_VAL                                                 ~59
         88        DO_FCALL                                      0          
   26    89    >   IS_SMALLER                                               !4, !2
         90      > JMPZ                                                     ~63, ->97
         91    >   INIT_FCALL                                               'say'
         92        ROPE_INIT                                     3  ~65     !4
         93        ROPE_ADD                                      1  ~65     ~65, '+%3C+'
         94        ROPE_END                                      2  ~64     ~65, !2
         95        SEND_VAL                                                 ~64
         96        DO_FCALL                                      0          
   27    97    >   IS_SMALLER                                               !2, !0
         98      > JMPZ                                                     ~68, ->105
         99    >   INIT_FCALL                                               'say'
        100        ROPE_INIT                                     3  ~70     !2
        101        ROPE_ADD                                      1  ~70     ~70, '+%3C+'
        102        ROPE_END                                      2  ~69     ~70, !0
        103        SEND_VAL                                                 ~69
        104        DO_FCALL                                      0          
   28   105    >   INIT_FCALL                                               'say'
        106        SEND_VAL                                                 'therefore%2C+as+expected%2C'
        107        DO_FCALL                                      0          
   29   108        IS_SMALLER                                               !1, !2
        109      > JMPZ                                                     ~74, ->116
        110    >   INIT_FCALL                                               'say'
        111        ROPE_INIT                                     3  ~76     !1
        112        ROPE_ADD                                      1  ~76     ~76, '+%3C+'
        113        ROPE_END                                      2  ~75     ~76, !2
        114        SEND_VAL                                                 ~75
        115        DO_FCALL                                      0          
        116    > > RETURN                                                   1

Function say:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/VQ7cu
function name:  say
number of ops:  4
compiled vars:  !0 = $str
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
          1        ECHO                                                     !0
          2        ECHO                                                     '%0A'
          3      > RETURN                                                   null

End of function say

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.56 ms | 1411 KiB | 28 Q