3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = '5'; $result = match($input) { 0 => "hello", '1', '2', '3', '0' => "world", default => 'not found' }; echo $result.PHP_EOL; $result = ''; switch ($input) { case 0: $result = "hello"; break; case '1': case '2': case '3': $result = "world"; break; } echo $result.PHP_EOL;
Finding entry points
Branch analysis from position: 0
6 jumps found. (Code = 195) Position 1 = 2, Position 2 = 4, Position 3 = 4, Position 4 = 4, Position 5 = 4, Position 6 = 6
Branch analysis from position: 2
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 14, Position 2 = 21
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 16, Position 2 = 23
Branch analysis from position: 16
2 jumps found. (Code = 44) Position 1 = 18, Position 2 = 23
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 23
Branch analysis from position: 20
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 23
Branch analysis from position: 23
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 4
Branch analysis from position: 4
Branch analysis from position: 4
Branch analysis from position: 6
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
filename:       /in/h54Lj
function name:  (null)
number of ops:  28
compiled vars:  !0 = $input, !1 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '5'
    4     1      > MATCH                                                    !0, [ 0:->2, '1':->4, '2':->4, '3':->4, '0':->4, ]
    5     2    >   QM_ASSIGN                                        ~4      'hello'
          3      > JMP                                                      ->8
    6     4    >   QM_ASSIGN                                        ~4      'world'
          5      > JMP                                                      ->8
    7     6    >   QM_ASSIGN                                        ~4      'not+found'
          7      > JMP                                                      ->8
    4     8    >   ASSIGN                                                   !1, ~4
   10     9        CONCAT                                           ~6      !1, '%0A'
         10        ECHO                                                     ~6
   11    11        ASSIGN                                                   !1, ''
   13    12        IS_EQUAL                                                 !0, 0
         13      > JMPNZ                                                    ~8, ->21
   16    14    >   IS_EQUAL                                                 !0, '1'
         15      > JMPNZ                                                    ~8, ->23
   17    16    >   IS_EQUAL                                                 !0, '2'
         17      > JMPNZ                                                    ~8, ->23
   18    18    >   IS_EQUAL                                                 !0, '3'
         19      > JMPNZ                                                    ~8, ->23
         20    > > JMP                                                      ->25
   14    21    >   ASSIGN                                                   !1, 'hello'
   15    22      > JMP                                                      ->25
   19    23    >   ASSIGN                                                   !1, 'world'
   20    24      > JMP                                                      ->25
   23    25    >   CONCAT                                           ~11     !1, '%0A'
         26        ECHO                                                     ~11
   24    27      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
135.52 ms | 1395 KiB | 13 Q