3v4l.org

run code in 300+ PHP versions simultaneously
<?php $var11 = '12345'; $var12 = '22b'; $var13 = '12345x'; $var14 = '22'; comparevar('var11 and var12', $var11, $var12); comparevar('var12 and var11', $var12, $var11); comparevar('var13 and var14', $var13, $var14); comparevar('var14 and var13', $var14, $var13); comparevar('var11 and var14', $var11, $var14); comparevar('var14 and var11', $var14, $var11); comparevar('var12 and var13', $var12, $var13); comparevar('var13 and var12', $var13, $var12); function comparevar($tag, $arg1, $arg2) { echo("$tag: "); if ($arg1 === $arg2) { say("$arg1 === $arg2"); } if ($arg1 == $arg2) { say("$arg1 == $arg2"); } if ($arg1 < $arg2) { say("$arg1 < $arg2"); } if ($arg1 > $arg2) { say("$arg1 > $arg2"); } } function say($str) { echo $str, "\n"; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/VObu4
function name:  (null)
number of ops:  45
compiled vars:  !0 = $var11, !1 = $var12, !2 = $var13, !3 = $var14
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   ASSIGN                                                   !0, '12345'
          1        ASSIGN                                                   !1, '22b'
    5     2        ASSIGN                                                   !2, '12345x'
          3        ASSIGN                                                   !3, '22'
    7     4        INIT_FCALL_BY_NAME                                       'comparevar'
          5        SEND_VAL_EX                                              'var11+and+var12'
          6        SEND_VAR_EX                                              !0
          7        SEND_VAR_EX                                              !1
          8        DO_FCALL                                      0          
    8     9        INIT_FCALL_BY_NAME                                       'comparevar'
         10        SEND_VAL_EX                                              'var12+and+var11'
         11        SEND_VAR_EX                                              !1
         12        SEND_VAR_EX                                              !0
         13        DO_FCALL                                      0          
    9    14        INIT_FCALL_BY_NAME                                       'comparevar'
         15        SEND_VAL_EX                                              'var13+and+var14'
         16        SEND_VAR_EX                                              !2
         17        SEND_VAR_EX                                              !3
         18        DO_FCALL                                      0          
   10    19        INIT_FCALL_BY_NAME                                       'comparevar'
         20        SEND_VAL_EX                                              'var14+and+var13'
         21        SEND_VAR_EX                                              !3
         22        SEND_VAR_EX                                              !2
         23        DO_FCALL                                      0          
   12    24        INIT_FCALL_BY_NAME                                       'comparevar'
         25        SEND_VAL_EX                                              'var11+and+var14'
         26        SEND_VAR_EX                                              !0
         27        SEND_VAR_EX                                              !3
         28        DO_FCALL                                      0          
   13    29        INIT_FCALL_BY_NAME                                       'comparevar'
         30        SEND_VAL_EX                                              'var14+and+var11'
         31        SEND_VAR_EX                                              !3
         32        SEND_VAR_EX                                              !0
         33        DO_FCALL                                      0          
   15    34        INIT_FCALL_BY_NAME                                       'comparevar'
         35        SEND_VAL_EX                                              'var12+and+var13'
         36        SEND_VAR_EX                                              !1
         37        SEND_VAR_EX                                              !2
         38        DO_FCALL                                      0          
   16    39        INIT_FCALL_BY_NAME                                       'comparevar'
         40        SEND_VAL_EX                                              'var13+and+var12'
         41        SEND_VAR_EX                                              !2
         42        SEND_VAR_EX                                              !1
         43        DO_FCALL                                      0          
   18    44      > RETURN                                                   1

Function comparevar:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 14
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 22
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 30
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 38
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 38
Branch analysis from position: 30
Branch analysis from position: 22
Branch analysis from position: 14
filename:       /in/VObu4
function name:  comparevar
number of ops:  39
compiled vars:  !0 = $tag, !1 = $arg1, !2 = $arg2
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
          0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        NOP                                                      
          4        FAST_CONCAT                                      ~3      !0, '%3A+'
          5        ECHO                                                     ~3
          6        IS_IDENTICAL                                             !1, !2
          7      > JMPZ                                                     ~4, ->14
          8    >   INIT_FCALL_BY_NAME                                       'say'
          9        ROPE_INIT                                     3  ~6      !1
         10        ROPE_ADD                                      1  ~6      ~6, '+%3D%3D%3D+'
         11        ROPE_END                                      2  ~5      ~6, !2
         12        SEND_VAL_EX                                              ~5
         13        DO_FCALL                                      0          
         14    >   IS_EQUAL                                                 !1, !2
         15      > JMPZ                                                     ~9, ->22
         16    >   INIT_FCALL_BY_NAME                                       'say'
         17        ROPE_INIT                                     3  ~11     !1
         18        ROPE_ADD                                      1  ~11     ~11, '+%3D%3D+'
         19        ROPE_END                                      2  ~10     ~11, !2
         20        SEND_VAL_EX                                              ~10
         21        DO_FCALL                                      0          
         22    >   IS_SMALLER                                               !1, !2
         23      > JMPZ                                                     ~14, ->30
         24    >   INIT_FCALL_BY_NAME                                       'say'
         25        ROPE_INIT                                     3  ~16     !1
         26        ROPE_ADD                                      1  ~16     ~16, '+%3C+'
         27        ROPE_END                                      2  ~15     ~16, !2
         28        SEND_VAL_EX                                              ~15
         29        DO_FCALL                                      0          
         30    >   IS_SMALLER                                               !2, !1
         31      > JMPZ                                                     ~19, ->38
         32    >   INIT_FCALL_BY_NAME                                       'say'
         33        ROPE_INIT                                     3  ~21     !1
         34        ROPE_ADD                                      1  ~21     ~21, '+%3E+'
         35        ROPE_END                                      2  ~20     ~21, !2
         36        SEND_VAL_EX                                              ~20
         37        DO_FCALL                                      0          
         38    > > RETURN                                                   null

End of function comparevar

Function say:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/VObu4
function name:  say
number of ops:  4
compiled vars:  !0 = $str
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
          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:
148.49 ms | 1403 KiB | 13 Q