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 === $var6"); } if ($var5 === $var6) { say("$var5 === $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 = 28
Branch analysis from position: 22
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 36
Branch analysis from position: 30
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 44
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 46, Position 2 = 52
Branch analysis from position: 46
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 60
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 62, Position 2 = 68
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 70, Position 2 = 76
Branch analysis from position: 70
2 jumps found. (Code = 43) Position 1 = 81, Position 2 = 87
Branch analysis from position: 81
2 jumps found. (Code = 43) Position 1 = 89, Position 2 = 95
Branch analysis from position: 89
2 jumps found. (Code = 43) Position 1 = 97, Position 2 = 103
Branch analysis from position: 97
2 jumps found. (Code = 43) Position 1 = 108, Position 2 = 114
Branch analysis from position: 108
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 114
Branch analysis from position: 103
Branch analysis from position: 95
Branch analysis from position: 87
Branch analysis from position: 76
Branch analysis from position: 68
Branch analysis from position: 60
Branch analysis from position: 52
Branch analysis from position: 44
Branch analysis from position: 36
Branch analysis from position: 28
filename:       /in/k5rVs
function name:  (null)
number of ops:  115
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, ->28
         22    >   INIT_FCALL                                               'say'
         23        ROPE_INIT                                     3  ~24     !3
         24        ROPE_ADD                                      1  ~24     ~24, '+%3D%3D%3D+'
         25        ROPE_END                                      2  ~23     ~24, !5
         26        SEND_VAL                                                 ~23
         27        DO_FCALL                                      0          
   16    28    >   IS_IDENTICAL                                             !4, !5
         29      > JMPZ                                                     ~27, ->36
         30    >   INIT_FCALL                                               'say'
         31        ROPE_INIT                                     3  ~29     !4
         32        ROPE_ADD                                      1  ~29     ~29, '+%3D%3D%3D+'
         33        ROPE_END                                      2  ~28     ~29, !5
         34        SEND_VAL                                                 ~28
         35        DO_FCALL                                      0          
   18    36    >   IS_SMALLER                                               !0, !1
         37      > JMPZ                                                     ~32, ->44
         38    >   INIT_FCALL                                               'say'
         39        ROPE_INIT                                     3  ~34     !0
         40        ROPE_ADD                                      1  ~34     ~34, '+%3C+'
         41        ROPE_END                                      2  ~33     ~34, !1
         42        SEND_VAL                                                 ~33
         43        DO_FCALL                                      0          
   19    44    >   IS_SMALLER                                               !1, !2
         45      > JMPZ                                                     ~37, ->52
         46    >   INIT_FCALL                                               'say'
         47        ROPE_INIT                                     3  ~39     !1
         48        ROPE_ADD                                      1  ~39     ~39, '+%3C+'
         49        ROPE_END                                      2  ~38     ~39, !2
         50        SEND_VAL                                                 ~38
         51        DO_FCALL                                      0          
   20    52    >   IS_SMALLER                                               !5, !2
         53      > JMPZ                                                     ~42, ->60
         54    >   INIT_FCALL                                               'say'
         55        ROPE_INIT                                     3  ~44     !5
         56        ROPE_ADD                                      1  ~44     ~44, '+%3C+'
         57        ROPE_END                                      2  ~43     ~44, !2
         58        SEND_VAL                                                 ~43
         59        DO_FCALL                                      0          
   21    60    >   IS_SMALLER                                               !2, !0
         61      > JMPZ                                                     ~47, ->68
         62    >   INIT_FCALL                                               'say'
         63        ROPE_INIT                                     3  ~49     !2
         64        ROPE_ADD                                      1  ~49     ~49, '+%3C+'
         65        ROPE_END                                      2  ~48     ~49, !0
         66        SEND_VAL                                                 ~48
         67        DO_FCALL                                      0          
   22    68    >   IS_SMALLER                                               !1, !2
         69      > JMPZ                                                     ~52, ->76
         70    >   INIT_FCALL                                               'say'
         71        ROPE_INIT                                     3  ~54     !2
         72        ROPE_ADD                                      1  ~54     ~54, '+%3E+'
         73        ROPE_END                                      2  ~53     ~54, !1
         74        SEND_VAL                                                 ~53
         75        DO_FCALL                                      0          
   24    76    >   INIT_FCALL                                               'say'
         77        SEND_VAL                                                 'stop'
         78        DO_FCALL                                      0          
   25    79        IS_SMALLER                                               !3, !2
         80      > JMPZ                                                     ~58, ->87
         81    >   INIT_FCALL                                               'say'
         82        ROPE_INIT                                     3  ~60     !3
         83        ROPE_ADD                                      1  ~60     ~60, '+%3C+'
         84        ROPE_END                                      2  ~59     ~60, !2
         85        SEND_VAL                                                 ~59
         86        DO_FCALL                                      0          
   26    87    >   IS_SMALLER                                               !4, !2
         88      > JMPZ                                                     ~63, ->95
         89    >   INIT_FCALL                                               'say'
         90        ROPE_INIT                                     3  ~65     !4
         91        ROPE_ADD                                      1  ~65     ~65, '+%3C+'
         92        ROPE_END                                      2  ~64     ~65, !2
         93        SEND_VAL                                                 ~64
         94        DO_FCALL                                      0          
   27    95    >   IS_SMALLER                                               !2, !0
         96      > JMPZ                                                     ~68, ->103
         97    >   INIT_FCALL                                               'say'
         98        ROPE_INIT                                     3  ~70     !2
         99        ROPE_ADD                                      1  ~70     ~70, '+%3C+'
        100        ROPE_END                                      2  ~69     ~70, !0
        101        SEND_VAL                                                 ~69
        102        DO_FCALL                                      0          
   28   103    >   INIT_FCALL                                               'say'
        104        SEND_VAL                                                 'therefore%2C+as+expected%2C'
        105        DO_FCALL                                      0          
   29   106        IS_SMALLER                                               !1, !2
        107      > JMPZ                                                     ~74, ->114
        108    >   INIT_FCALL                                               'say'
        109        ROPE_INIT                                     3  ~76     !1
        110        ROPE_ADD                                      1  ~76     ~76, '+%3C+'
        111        ROPE_END                                      2  ~75     ~76, !2
        112        SEND_VAL                                                 ~75
        113        DO_FCALL                                      0          
        114    > > RETURN                                                   1

Function say:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/k5rVs
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:
159.12 ms | 1407 KiB | 28 Q