3v4l.org

run code in 500+ PHP versions simultaneously
<?php declare(strict_types=1); $foo = 1; switch($foo) { case $foo===true: print "foo is true (foo=$foo)"; break; case $foo===1: print "foo is 1; (foo=$foo)"; break; } $wat=999; switch($foo){ case $wat===999: print "wat is 999"; break; case 1: print "foo is 1"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 44) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 7, Position 2 = 13
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 22, Position 2 = 25
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 27
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 18
Branch analysis from position: 18
filename:       /in/eEG9u
function name:  (null)
number of ops:  29
compiled vars:  !0 = $foo, !1 = $wat
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 1
    5     1        TYPE_CHECK                                        8  ~4      !0
          2        IS_EQUAL                                                     !0, ~4
          3      > JMPNZ                                                        ~3, ->8
   10     4    >   IS_IDENTICAL                                         ~5      !0, 1
          5        IS_EQUAL                                                     !0, ~5
          6      > JMPNZ                                                        ~3, ->13
          7    > > JMP                                                          ->18
    8     8    >   ROPE_INIT                                         3  ~7      'foo+is+true+%28foo%3D'
          9        ROPE_ADD                                          1  ~7      ~7, !0
         10        ROPE_END                                          2  ~6      ~7, '%29'
         11        ECHO                                                         ~6
    9    12      > JMP                                                          ->18
   11    13    >   ROPE_INIT                                         3  ~10     'foo+is+1%3B+%28foo%3D'
         14        ROPE_ADD                                          1  ~10     ~10, !0
         15        ROPE_END                                          2  ~9      ~10, '%29'
         16        ECHO                                                         ~9
   12    17      > JMP                                                          ->18
   14    18    >   ASSIGN                                                       !1, 999
   16    19        IS_IDENTICAL                                         ~14     !1, 999
         20        IS_EQUAL                                                     !0, ~14
         21      > JMPNZ                                                        ~13, ->25
   19    22    >   IS_EQUAL                                                     !0, 1
         23      > JMPNZ                                                        ~13, ->27
         24    > > JMP                                                          ->28
   17    25    >   ECHO                                                         'wat+is+999'
   18    26      > JMP                                                          ->28
   20    27    >   ECHO                                                         'foo+is+1'
   21    28    > > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
161.02 ms | 2252 KiB | 13 Q