3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Direction { const NORTH = 2; const EAST = 4; const SOUTH = 8; const WEST = 16; const UNKNOWN = PHP_INT_MAX; public function __construct($direction) { switch ($direction) { case (Direction::NORTH): echo "North"; break; case (Direction::EAST): echo "East"; break; case (Direction::SOUTH): echo "South"; break; case (Direction::WEST): echo "West"; break; case (Direction::NORTH | Direction::EAST): echo "Northeast"; break; case (Direction::SOUTH | Direction::EAST): echo "Southeast"; break; case (Direction::NORTH | Direction::WEST): echo "Northwest"; break; case (Direction::SOUTH | Direction::WEST): echo "Southwest"; break; case (Direction::UNKNOWN): echo "Unknown"; break; default: echo "No Match"; break; } } } $d = new Direction(Direction::NORTH | Direction::WEST);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/LVS4W
function name:  (null)
number of ops:  5
compiled vars:  !0 = $d
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   NEW                                              $1      'Direction'
          1        SEND_VAL_EX                                              18
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !0, $1
          4      > RETURN                                                   1

Class Direction:
Function __construct:
Finding entry points
Branch analysis from position: 0
11 jumps found. (Code = 187) Position 1 = 21, Position 2 = 23, Position 3 = 25, Position 4 = 27, Position 5 = 29, Position 6 = 31, Position 7 = 33, Position 8 = 35, Position 9 = 37, Position 10 = 39, Position 11 = 2
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 39
1 jumps found. (Code = 42) Position 1 = 41
Branch analysis from position: 41
Branch analysis from position: 2
2 jumps found. (Code = 44) Position 1 = 4, Position 2 = 21
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 6, Position 2 = 23
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 25
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 10, Position 2 = 27
Branch analysis from position: 10
2 jumps found. (Code = 44) Position 1 = 12, Position 2 = 29
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 14, Position 2 = 31
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 33
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 35
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 37
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 39
Branch analysis from position: 39
Branch analysis from position: 37
Branch analysis from position: 35
Branch analysis from position: 33
Branch analysis from position: 31
Branch analysis from position: 29
Branch analysis from position: 27
Branch analysis from position: 25
Branch analysis from position: 23
Branch analysis from position: 21
filename:       /in/LVS4W
function name:  __construct
number of ops:  42
compiled vars:  !0 = $direction
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   11     0  E >   RECV                                             !0      
   12     1      > SWITCH_LONG                                              !0, [ 2:->21, 4:->23, 8:->25, 16:->27, 6:->29, 12:->31, 18:->33, 24:->35, -1:->37, ], ->39
          2    >   IS_EQUAL                                                 !0, 2
          3      > JMPNZ                                                    ~1, ->21
          4    >   IS_EQUAL                                                 !0, 4
          5      > JMPNZ                                                    ~1, ->23
          6    >   IS_EQUAL                                                 !0, 8
          7      > JMPNZ                                                    ~1, ->25
          8    >   IS_EQUAL                                                 !0, 16
          9      > JMPNZ                                                    ~1, ->27
         10    >   IS_EQUAL                                                 !0, 6
         11      > JMPNZ                                                    ~1, ->29
         12    >   IS_EQUAL                                                 !0, 12
         13      > JMPNZ                                                    ~1, ->31
         14    >   IS_EQUAL                                                 !0, 18
         15      > JMPNZ                                                    ~1, ->33
         16    >   IS_EQUAL                                                 !0, 24
         17      > JMPNZ                                                    ~1, ->35
         18    >   IS_EQUAL                                                 !0, 9223372036854775807
         19      > JMPNZ                                                    ~1, ->37
         20    > > JMP                                                      ->39
   14    21    >   ECHO                                                     'North'
   15    22      > JMP                                                      ->41
   17    23    >   ECHO                                                     'East'
   18    24      > JMP                                                      ->41
   20    25    >   ECHO                                                     'South'
   21    26      > JMP                                                      ->41
   23    27    >   ECHO                                                     'West'
   24    28      > JMP                                                      ->41
   27    29    >   ECHO                                                     'Northeast'
   28    30      > JMP                                                      ->41
   30    31    >   ECHO                                                     'Southeast'
   31    32      > JMP                                                      ->41
   33    33    >   ECHO                                                     'Northwest'
   34    34      > JMP                                                      ->41
   36    35    >   ECHO                                                     'Southwest'
   37    36      > JMP                                                      ->41
   40    37    >   ECHO                                                     'Unknown'
   41    38      > JMP                                                      ->41
   43    39    >   ECHO                                                     'No+Match'
   44    40      > JMP                                                      ->41
   46    41    > > RETURN                                                   null

End of function __construct

End of class Direction.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
155.78 ms | 1399 KiB | 13 Q