3v4l.org

run code in 300+ PHP versions simultaneously
<?php $phonecodes['pl'] = 48; $country= 'pl'; $tel = '+4812321312312312'; function checkCountryCode($tel, $part) { global $phonecodes, $country; for ($i = 1; $i <= 3; $i++) { $codeToCheck = substr($tel, 1, $i); foreach ($phonecodes as $key => $val) { if ($codeToCheck == $val) { $code = c; echo $code; switch($part){ case 'phonecode': echo $key; break; case 'a': echo $val; break; case 'd': echo 'dupa'; } } } } if ($code == '') echo $country; } checkCountryCode($tel, 'phonecode');
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kvaIa
function name:  (null)
number of ops:  9
compiled vars:  !0 = $phonecodes, !1 = $country, !2 = $tel
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN_DIM                                               !0, 'pl'
          1        OP_DATA                                                  48
    3     2        ASSIGN                                                   !1, 'pl'
    5     3        ASSIGN                                                   !2, '%2B4812321312312312'
   31     4        INIT_FCALL                                               'checkcountrycode'
          5        SEND_VAR                                                 !2
          6        SEND_VAL                                                 'phonecode'
          7        DO_FCALL                                      0          
          8      > RETURN                                                   1

Function checkcountrycode:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 36
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 6
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 41
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 41
Branch analysis from position: 6
2 jumps found. (Code = 77) Position 1 = 13, Position 2 = 34
Branch analysis from position: 13
2 jumps found. (Code = 78) Position 1 = 14, Position 2 = 34
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 33
Branch analysis from position: 17
5 jumps found. (Code = 188) Position 1 = 28, Position 2 = 30, Position 3 = 32, Position 4 = 33, Position 5 = 21
Branch analysis from position: 28
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
Branch analysis from position: 32
1 jumps found. (Code = 42) Position 1 = 13
Branch analysis from position: 13
Branch analysis from position: 33
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 28
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 30
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 32
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
Branch analysis from position: 32
Branch analysis from position: 30
Branch analysis from position: 28
Branch analysis from position: 33
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 6
Branch analysis from position: 38
Branch analysis from position: 6
Branch analysis from position: 34
filename:       /in/kvaIa
function name:  checkCountryCode
number of ops:  42
compiled vars:  !0 = $tel, !1 = $part, !2 = $phonecodes, !3 = $country, !4 = $i, !5 = $codeToCheck, !6 = $val, !7 = $key, !8 = $code
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    8     2        BIND_GLOBAL                                              !2, 'phonecodes'
          3        BIND_GLOBAL                                              !3, 'country'
    9     4        ASSIGN                                                   !4, 1
          5      > JMP                                                      ->36
   10     6    >   INIT_FCALL                                               'substr'
          7        SEND_VAR                                                 !0
          8        SEND_VAL                                                 1
          9        SEND_VAR                                                 !4
         10        DO_ICALL                                         $10     
         11        ASSIGN                                                   !5, $10
   11    12      > FE_RESET_R                                       $12     !2, ->34
         13    > > FE_FETCH_R                                       ~13     $12, !6, ->34
         14    >   ASSIGN                                                   !7, ~13
   12    15        IS_EQUAL                                                 !5, !6
         16      > JMPZ                                                     ~15, ->33
   13    17    >   FETCH_CONSTANT                                   ~16     'c'
         18        ASSIGN                                                   !8, ~16
   14    19        ECHO                                                     !8
   15    20      > SWITCH_STRING                                            !1, [ 'phonecode':->28, 'a':->30, 'd':->32, ], ->33
   16    21    >   IS_EQUAL                                                 !1, 'phonecode'
         22      > JMPNZ                                                    ~18, ->28
   19    23    >   IS_EQUAL                                                 !1, 'a'
         24      > JMPNZ                                                    ~18, ->30
   22    25    >   IS_EQUAL                                                 !1, 'd'
         26      > JMPNZ                                                    ~18, ->32
         27    > > JMP                                                      ->33
   17    28    >   ECHO                                                     !7
   18    29      > JMP                                                      ->33
   20    30    >   ECHO                                                     !6
   21    31      > JMP                                                      ->33
   23    32    >   ECHO                                                     'dupa'
   11    33    > > JMP                                                      ->13
         34    >   FE_FREE                                                  $12
    9    35        PRE_INC                                                  !4
         36    >   IS_SMALLER_OR_EQUAL                                      !4, 3
         37      > JMPNZ                                                    ~20, ->6
   29    38    >   IS_EQUAL                                                 !8, ''
         39      > JMPZ                                                     ~21, ->41
         40    >   ECHO                                                     !3
   30    41    > > RETURN                                                   null

End of function checkcountrycode

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
168.05 ms | 1406 KiB | 17 Q