3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = array(2,7,4,9); // sample input $words = array(); // main array foreach($input as $num) { // get letters corresponding to each button pressed switch ($num) { case 2: $letters = array('a','b','c'); break; case 3: $letters = array('d','e','f'); break; case 4: $letters = array('g','h','i'); break; case 5: $letters = array('j','k','l'); break; case 6: $letters = array('m','n','o'); break; case 7: $letters = array('p','q','r','s'); break; case 8: $letters = array('t','u','v'); break; case 9: $letters = array('w','x','y','z'); break; } array_push($words, $letters); // add array of letters to main array } // create all possible combinations of values foreach($words['0'] as $k0=>$v0) { foreach($words['1'] as $k1=>$v1) { foreach($words['2'] as $k2=>$v2) { foreach($words['3'] as $k3=>$v3) { $test = $v0."".$v1."".$v2."".$v3; // form a potential word if (isWord($test)) { // pass it to the API isWord echo $test."<br />"; // if return true, print the word } } } } } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 43
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 43
Branch analysis from position: 4
10 jumps found. (Code = 187) Position 1 = 22, Position 2 = 24, Position 3 = 26, Position 4 = 28, Position 5 = 30, Position 6 = 32, Position 7 = 34, Position 8 = 36, Position 9 = 38, Position 10 = 5
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 24
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 38
Branch analysis from position: 5
2 jumps found. (Code = 44) Position 1 = 7, Position 2 = 22
Branch analysis from position: 7
2 jumps found. (Code = 44) Position 1 = 9, Position 2 = 24
Branch analysis from position: 9
2 jumps found. (Code = 44) Position 1 = 11, Position 2 = 26
Branch analysis from position: 11
2 jumps found. (Code = 44) Position 1 = 13, Position 2 = 28
Branch analysis from position: 13
2 jumps found. (Code = 44) Position 1 = 15, Position 2 = 30
Branch analysis from position: 15
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 32
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 34
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 36
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 36
Branch analysis from position: 34
Branch analysis from position: 32
Branch analysis from position: 30
Branch analysis from position: 28
Branch analysis from position: 26
Branch analysis from position: 24
Branch analysis from position: 22
Branch analysis from position: 43
2 jumps found. (Code = 77) Position 1 = 46, Position 2 = 80
Branch analysis from position: 46
2 jumps found. (Code = 78) Position 1 = 47, Position 2 = 80
Branch analysis from position: 47
2 jumps found. (Code = 77) Position 1 = 50, Position 2 = 78
Branch analysis from position: 50
2 jumps found. (Code = 78) Position 1 = 51, Position 2 = 78
Branch analysis from position: 51
2 jumps found. (Code = 77) Position 1 = 54, Position 2 = 76
Branch analysis from position: 54
2 jumps found. (Code = 78) Position 1 = 55, Position 2 = 76
Branch analysis from position: 55
2 jumps found. (Code = 77) Position 1 = 58, Position 2 = 74
Branch analysis from position: 58
2 jumps found. (Code = 78) Position 1 = 59, Position 2 = 74
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 71, Position 2 = 73
Branch analysis from position: 71
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
Branch analysis from position: 73
Branch analysis from position: 74
1 jumps found. (Code = 42) Position 1 = 54
Branch analysis from position: 54
Branch analysis from position: 74
Branch analysis from position: 76
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
Branch analysis from position: 76
Branch analysis from position: 78
1 jumps found. (Code = 42) Position 1 = 46
Branch analysis from position: 46
Branch analysis from position: 78
Branch analysis from position: 80
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 80
Branch analysis from position: 43
filename:       /in/N1lvO
function name:  (null)
number of ops:  82
compiled vars:  !0 = $input, !1 = $words, !2 = $num, !3 = $letters, !4 = $v0, !5 = $k0, !6 = $v1, !7 = $k1, !8 = $v2, !9 = $k2, !10 = $v3, !11 = $k3, !12 = $test
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
    4     1        ASSIGN                                                   !1, <array>
    6     2      > FE_RESET_R                                       $15     !0, ->43
          3    > > FE_FETCH_R                                               $15, !2, ->43
    7     4    > > SWITCH_LONG                                              !2, [ 2:->22, 3:->24, 4:->26, 5:->28, 6:->30, 7:->32, 8:->34, 9:->36, ], ->38
    8     5    >   IS_EQUAL                                                 !2, 2
          6      > JMPNZ                                                    ~16, ->22
   11     7    >   IS_EQUAL                                                 !2, 3
          8      > JMPNZ                                                    ~16, ->24
   14     9    >   IS_EQUAL                                                 !2, 4
         10      > JMPNZ                                                    ~16, ->26
   17    11    >   IS_EQUAL                                                 !2, 5
         12      > JMPNZ                                                    ~16, ->28
   20    13    >   IS_EQUAL                                                 !2, 6
         14      > JMPNZ                                                    ~16, ->30
   23    15    >   IS_EQUAL                                                 !2, 7
         16      > JMPNZ                                                    ~16, ->32
   26    17    >   IS_EQUAL                                                 !2, 8
         18      > JMPNZ                                                    ~16, ->34
   29    19    >   IS_EQUAL                                                 !2, 9
         20      > JMPNZ                                                    ~16, ->36
         21    > > JMP                                                      ->38
    9    22    >   ASSIGN                                                   !3, <array>
   10    23      > JMP                                                      ->38
   12    24    >   ASSIGN                                                   !3, <array>
   13    25      > JMP                                                      ->38
   15    26    >   ASSIGN                                                   !3, <array>
   16    27      > JMP                                                      ->38
   18    28    >   ASSIGN                                                   !3, <array>
   19    29      > JMP                                                      ->38
   21    30    >   ASSIGN                                                   !3, <array>
   22    31      > JMP                                                      ->38
   24    32    >   ASSIGN                                                   !3, <array>
   25    33      > JMP                                                      ->38
   27    34    >   ASSIGN                                                   !3, <array>
   28    35      > JMP                                                      ->38
   30    36    >   ASSIGN                                                   !3, <array>
   31    37      > JMP                                                      ->38
   33    38    >   INIT_FCALL                                               'array_push'
         39        SEND_REF                                                 !1
         40        SEND_VAR                                                 !3
         41        DO_ICALL                                                 
    6    42      > JMP                                                      ->3
         43    >   FE_FREE                                                  $15
   37    44        FETCH_DIM_R                                      ~26     !1, 0
         45      > FE_RESET_R                                       $27     ~26, ->80
         46    > > FE_FETCH_R                                       ~28     $27, !4, ->80
         47    >   ASSIGN                                                   !5, ~28
   38    48        FETCH_DIM_R                                      ~30     !1, 1
         49      > FE_RESET_R                                       $31     ~30, ->78
         50    > > FE_FETCH_R                                       ~32     $31, !6, ->78
         51    >   ASSIGN                                                   !7, ~32
   39    52        FETCH_DIM_R                                      ~34     !1, 2
         53      > FE_RESET_R                                       $35     ~34, ->76
         54    > > FE_FETCH_R                                       ~36     $35, !8, ->76
         55    >   ASSIGN                                                   !9, ~36
   40    56        FETCH_DIM_R                                      ~38     !1, 3
         57      > FE_RESET_R                                       $39     ~38, ->74
         58    > > FE_FETCH_R                                       ~40     $39, !10, ->74
         59    >   ASSIGN                                                   !11, ~40
   41    60        CONCAT                                           ~42     !4, ''
         61        CONCAT                                           ~43     ~42, !6
         62        CONCAT                                           ~44     ~43, ''
         63        CONCAT                                           ~45     ~44, !8
         64        CONCAT                                           ~46     ~45, ''
         65        CONCAT                                           ~47     ~46, !10
         66        ASSIGN                                                   !12, ~47
   42    67        INIT_FCALL_BY_NAME                                       'isWord'
         68        SEND_VAR_EX                                              !12
         69        DO_FCALL                                      0  $49     
         70      > JMPZ                                                     $49, ->73
   43    71    >   CONCAT                                           ~50     !12, '%3Cbr+%2F%3E'
         72        ECHO                                                     ~50
   40    73    > > JMP                                                      ->58
         74    >   FE_FREE                                                  $39
   39    75      > JMP                                                      ->54
         76    >   FE_FREE                                                  $35
   38    77      > JMP                                                      ->50
         78    >   FE_FREE                                                  $31
   37    79      > JMP                                                      ->46
         80    >   FE_FREE                                                  $27
   49    81      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.25 ms | 1404 KiB | 15 Q