3v4l.org

run code in 300+ PHP versions simultaneously
<?php function testFunction($var) { if ($var == 1) return "<div>Hello World from function1</div>"; if ($var == 7) return "<div>Hello World from function7</div>"; if ($var == 2) return "<div>Hello World from function2</div>"; if ($var == 3) return "<div>Hello World from function3</div>"; if ($var == 4) return "<div>Hello World from function4</div>"; if ($var == 5) return "<div>Hello World from function5</div>"; if ($var == 6) return "<div>Hello World from function6</div>"; } $functions1 = 7; //users can select this value and this can be something between 1-7 $functions2 = 5; //these values are positions to be precise $functions3 = 6; //no two variables can have same value as each position is unique $functions4 = 3; //we can also make $functions1-7 an array to avoid making 7 variables $functions5 = 4; $functions6 = 2; $functions7 = 1; $array = array($functions1, $functions2, $functions3, $functions4, $functions5, $functions6, $functions7); for ($i = 0; $i<count($array); $i++) echo testFunction($array[$i]);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 23
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 17
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 17
Branch analysis from position: 26
Branch analysis from position: 17
filename:       /in/mgOKh
function name:  (null)
number of ops:  27
compiled vars:  !0 = $functions1, !1 = $functions2, !2 = $functions3, !3 = $functions4, !4 = $functions5, !5 = $functions6, !6 = $functions7, !7 = $array, !8 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   20     0  E >   ASSIGN                                                   !0, 7
   21     1        ASSIGN                                                   !1, 5
   22     2        ASSIGN                                                   !2, 6
   23     3        ASSIGN                                                   !3, 3
   24     4        ASSIGN                                                   !4, 4
   25     5        ASSIGN                                                   !5, 2
   26     6        ASSIGN                                                   !6, 1
   28     7        INIT_ARRAY                                       ~16     !0
          8        ADD_ARRAY_ELEMENT                                ~16     !1
          9        ADD_ARRAY_ELEMENT                                ~16     !2
         10        ADD_ARRAY_ELEMENT                                ~16     !3
         11        ADD_ARRAY_ELEMENT                                ~16     !4
         12        ADD_ARRAY_ELEMENT                                ~16     !5
         13        ADD_ARRAY_ELEMENT                                ~16     !6
         14        ASSIGN                                                   !7, ~16
   30    15        ASSIGN                                                   !8, 0
         16      > JMP                                                      ->23
   31    17    >   INIT_FCALL                                               'testfunction'
         18        FETCH_DIM_R                                      ~19     !7, !8
         19        SEND_VAL                                                 ~19
         20        DO_FCALL                                      0  $20     
         21        ECHO                                                     $20
   30    22        PRE_INC                                                  !8
         23    >   COUNT                                            ~22     !7
         24        IS_SMALLER                                               !8, ~22
         25      > JMPNZ                                                    ~23, ->17
   31    26    > > RETURN                                                   1

Function testfunction:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 4
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 7
Branch analysis from position: 6
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 10
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 13
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 15, Position 2 = 16
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 19
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 22
Branch analysis from position: 21
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 22
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/mgOKh
function name:  testFunction
number of ops:  23
compiled vars:  !0 = $var
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
    4     1        IS_EQUAL                                                 !0, 1
          2      > JMPZ                                                     ~1, ->4
    5     3    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function1%3C%2Fdiv%3E'
    6     4    >   IS_EQUAL                                                 !0, 7
          5      > JMPZ                                                     ~2, ->7
    7     6    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function7%3C%2Fdiv%3E'
    8     7    >   IS_EQUAL                                                 !0, 2
          8      > JMPZ                                                     ~3, ->10
    9     9    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function2%3C%2Fdiv%3E'
   10    10    >   IS_EQUAL                                                 !0, 3
         11      > JMPZ                                                     ~4, ->13
   11    12    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function3%3C%2Fdiv%3E'
   12    13    >   IS_EQUAL                                                 !0, 4
         14      > JMPZ                                                     ~5, ->16
   13    15    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function4%3C%2Fdiv%3E'
   14    16    >   IS_EQUAL                                                 !0, 5
         17      > JMPZ                                                     ~6, ->19
   15    18    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function5%3C%2Fdiv%3E'
   16    19    >   IS_EQUAL                                                 !0, 6
         20      > JMPZ                                                     ~7, ->22
   17    21    > > RETURN                                                   '%3Cdiv%3EHello+World+from+function6%3C%2Fdiv%3E'
   18    22    > > RETURN                                                   null

End of function testfunction

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.79 ms | 1403 KiB | 14 Q