3v4l.org

run code in 300+ PHP versions simultaneously
<?php $phoneNumbers = array('41N XR8 L143','CRCCCRZZ65','77U.641.2lL7','N9N 481N117','I00F7CIKOK','A7Z.Z3M.AAM0','G73-V1N-9572','8N5 54WECN85','6BF97B7711','F2W W0718W1','E16 EGTj6JE','EZNGUE2Q0E','6DI.6DW.D0D2','88W 6RW 0HWF'); foreach($phoneNumbers AS $phoneNumber) { $newPhoneNumber = ""; echo sizeof($phoneNumber)."*"; for($j=0;$j<sizeof($phoneNumber);$j++){ $number = $phoneNumber[$j]; if(!is_numeric($number)){ switch($number){ case "A":; case "B":; case "C": $number = 2;break; case "D":; case "E":; case "F": $number = 3;break; case "G":; case "H":; case "I": $number = 4;break; case "J":; case "K":; case "L": $number = 5;break; case "M":; case "N":; case "O": $number = 6;break; case "P":; case "Q":; case "R":; case "S": $number = 7;break; case "T":; case "U":; case "V": $number = 8;break; case "W":; case "X":; case "Y":; case "Z": $number = 9;break; default : $number = ""; } } $newPhoneNumber = $newPhoneNumber.$number; } $newPhoneNumbers[] = implode("-",str_split($newPhoneNumber,3)); } print ($newPhoneNumbers[0]);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 2, Position 2 = 104
Branch analysis from position: 2
2 jumps found. (Code = 78) Position 1 = 3, Position 2 = 104
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 90
Branch analysis from position: 90
2 jumps found. (Code = 44) Position 1 = 93, Position 2 = 9
Branch analysis from position: 93
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 87
Branch analysis from position: 16
28 jumps found. (Code = 188) Position 1 = 70, Position 2 = 70, Position 3 = 70, Position 4 = 72, Position 5 = 72, Position 6 = 72, Position 7 = 74, Position 8 = 74, Position 9 = 74, Position 10 = 76, Position 11 = 76, Position 12 = 76, Position 13 = 78, Position 14 = 78, Position 15 = 78, Position 16 = 80, Position 17 = 80, Position 18 = 80, Position 19 = 80, Position 20 = 82, Position 21 = 82, Position 22 = 82, Position 23 = 84, Position 24 = 84, Position 25 = 84, Position 26 = 84, Position 27 = 86, Position 28 = 17
Branch analysis from position: 70
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
2 jumps found. (Code = 44) Position 1 = 93, Position 2 = 9
Branch analysis from position: 93
Branch analysis from position: 9
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 72
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 74
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 74
Branch analysis from position: 74
Branch analysis from position: 76
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 76
Branch analysis from position: 76
Branch analysis from position: 78
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 78
Branch analysis from position: 78
Branch analysis from position: 80
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 80
Branch analysis from position: 80
Branch analysis from position: 80
Branch analysis from position: 82
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 82
Branch analysis from position: 82
Branch analysis from position: 84
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 86
2 jumps found. (Code = 44) Position 1 = 93, Position 2 = 9
Branch analysis from position: 93
Branch analysis from position: 9
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 19, Position 2 = 70
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 21, Position 2 = 70
Branch analysis from position: 21
2 jumps found. (Code = 44) Position 1 = 23, Position 2 = 70
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 25, Position 2 = 72
Branch analysis from position: 25
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 72
Branch analysis from position: 27
2 jumps found. (Code = 44) Position 1 = 29, Position 2 = 72
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 74
Branch analysis from position: 31
2 jumps found. (Code = 44) Position 1 = 33, Position 2 = 74
Branch analysis from position: 33
2 jumps found. (Code = 44) Position 1 = 35, Position 2 = 74
Branch analysis from position: 35
2 jumps found. (Code = 44) Position 1 = 37, Position 2 = 76
Branch analysis from position: 37
2 jumps found. (Code = 44) Position 1 = 39, Position 2 = 76
Branch analysis from position: 39
2 jumps found. (Code = 44) Position 1 = 41, Position 2 = 76
Branch analysis from position: 41
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 78
Branch analysis from position: 43
2 jumps found. (Code = 44) Position 1 = 45, Position 2 = 78
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 47, Position 2 = 78
Branch analysis from position: 47
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 80
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 80
Branch analysis from position: 51
2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 80
Branch analysis from position: 53
2 jumps found. (Code = 44) Position 1 = 55, Position 2 = 80
Branch analysis from position: 55
2 jumps found. (Code = 44) Position 1 = 57, Position 2 = 82
Branch analysis from position: 57
2 jumps found. (Code = 44) Position 1 = 59, Position 2 = 82
Branch analysis from position: 59
2 jumps found. (Code = 44) Position 1 = 61, Position 2 = 82
Branch analysis from position: 61
2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 84
Branch analysis from position: 63
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 84
Branch analysis from position: 65
2 jumps found. (Code = 44) Position 1 = 67, Position 2 = 84
Branch analysis from position: 67
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 84
Branch analysis from position: 69
1 jumps found. (Code = 42) Position 1 = 86
Branch analysis from position: 86
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 84
Branch analysis from position: 82
Branch analysis from position: 82
Branch analysis from position: 82
Branch analysis from position: 80
Branch analysis from position: 80
Branch analysis from position: 80
Branch analysis from position: 80
Branch analysis from position: 78
Branch analysis from position: 78
Branch analysis from position: 78
Branch analysis from position: 76
Branch analysis from position: 76
Branch analysis from position: 76
Branch analysis from position: 74
Branch analysis from position: 74
Branch analysis from position: 74
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 72
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 70
Branch analysis from position: 87
Branch analysis from position: 104
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 104
filename:       /in/dDL0b
function name:  (null)
number of ops:  108
compiled vars:  !0 = $phoneNumbers, !1 = $phoneNumber, !2 = $newPhoneNumber, !3 = $j, !4 = $number, !5 = $newPhoneNumbers
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    4     1      > FE_RESET_R                                       $7      !0, ->104
          2    > > FE_FETCH_R                                               $7, !1, ->104
    5     3    >   ASSIGN                                                   !2, ''
    6     4        COUNT                                            ~9      !1
          5        CONCAT                                           ~10     ~9, '%2A'
          6        ECHO                                                     ~10
    7     7        ASSIGN                                                   !3, 0
          8      > JMP                                                      ->90
    8     9    >   FETCH_DIM_R                                      ~12     !1, !3
         10        ASSIGN                                                   !4, ~12
   10    11        INIT_FCALL                                               'is_numeric'
         12        SEND_VAR                                                 !4
         13        DO_ICALL                                         $14     
         14        BOOL_NOT                                         ~15     $14
         15      > JMPZ                                                     ~15, ->87
   11    16    > > SWITCH_STRING                                            !4, [ 'A':->70, 'B':->70, 'C':->70, 'D':->72, 'E':->72, 'F':->72, 'G':->74, 'H':->74, 'I':->74, 'J':->76, 'K':->76, 'L':->76, 'M':->78, 'N':->78, 'O':->78, 'P':->80, 'Q':->80, 'R':->80, 'S':->80, 'T':->82, 'U':->82, 'V':->82, 'W':->84, 'X':->84, 'Y':->84, 'Z':->84, ], ->86
   12    17    >   IS_EQUAL                                                 !4, 'A'
         18      > JMPNZ                                                    ~16, ->70
   13    19    >   IS_EQUAL                                                 !4, 'B'
         20      > JMPNZ                                                    ~16, ->70
   14    21    >   IS_EQUAL                                                 !4, 'C'
         22      > JMPNZ                                                    ~16, ->70
   15    23    >   IS_EQUAL                                                 !4, 'D'
         24      > JMPNZ                                                    ~16, ->72
   16    25    >   IS_EQUAL                                                 !4, 'E'
         26      > JMPNZ                                                    ~16, ->72
   17    27    >   IS_EQUAL                                                 !4, 'F'
         28      > JMPNZ                                                    ~16, ->72
   18    29    >   IS_EQUAL                                                 !4, 'G'
         30      > JMPNZ                                                    ~16, ->74
   19    31    >   IS_EQUAL                                                 !4, 'H'
         32      > JMPNZ                                                    ~16, ->74
   20    33    >   IS_EQUAL                                                 !4, 'I'
         34      > JMPNZ                                                    ~16, ->74
   21    35    >   IS_EQUAL                                                 !4, 'J'
         36      > JMPNZ                                                    ~16, ->76
   22    37    >   IS_EQUAL                                                 !4, 'K'
         38      > JMPNZ                                                    ~16, ->76
   23    39    >   IS_EQUAL                                                 !4, 'L'
         40      > JMPNZ                                                    ~16, ->76
   24    41    >   IS_EQUAL                                                 !4, 'M'
         42      > JMPNZ                                                    ~16, ->78
   25    43    >   IS_EQUAL                                                 !4, 'N'
         44      > JMPNZ                                                    ~16, ->78
   26    45    >   IS_EQUAL                                                 !4, 'O'
         46      > JMPNZ                                                    ~16, ->78
   27    47    >   IS_EQUAL                                                 !4, 'P'
         48      > JMPNZ                                                    ~16, ->80
   28    49    >   IS_EQUAL                                                 !4, 'Q'
         50      > JMPNZ                                                    ~16, ->80
   29    51    >   IS_EQUAL                                                 !4, 'R'
         52      > JMPNZ                                                    ~16, ->80
   30    53    >   IS_EQUAL                                                 !4, 'S'
         54      > JMPNZ                                                    ~16, ->80
   31    55    >   IS_EQUAL                                                 !4, 'T'
         56      > JMPNZ                                                    ~16, ->82
   32    57    >   IS_EQUAL                                                 !4, 'U'
         58      > JMPNZ                                                    ~16, ->82
   33    59    >   IS_EQUAL                                                 !4, 'V'
         60      > JMPNZ                                                    ~16, ->82
   34    61    >   IS_EQUAL                                                 !4, 'W'
         62      > JMPNZ                                                    ~16, ->84
   35    63    >   IS_EQUAL                                                 !4, 'X'
         64      > JMPNZ                                                    ~16, ->84
   36    65    >   IS_EQUAL                                                 !4, 'Y'
         66      > JMPNZ                                                    ~16, ->84
   37    67    >   IS_EQUAL                                                 !4, 'Z'
         68      > JMPNZ                                                    ~16, ->84
         69    > > JMP                                                      ->86
   14    70    >   ASSIGN                                                   !4, 2
         71      > JMP                                                      ->87
   17    72    >   ASSIGN                                                   !4, 3
         73      > JMP                                                      ->87
   20    74    >   ASSIGN                                                   !4, 4
         75      > JMP                                                      ->87
   23    76    >   ASSIGN                                                   !4, 5
         77      > JMP                                                      ->87
   26    78    >   ASSIGN                                                   !4, 6
         79      > JMP                                                      ->87
   30    80    >   ASSIGN                                                   !4, 7
         81      > JMP                                                      ->87
   33    82    >   ASSIGN                                                   !4, 8
         83      > JMP                                                      ->87
   37    84    >   ASSIGN                                                   !4, 9
         85      > JMP                                                      ->87
   38    86    >   ASSIGN                                                   !4, ''
   41    87    >   CONCAT                                           ~26     !2, !4
         88        ASSIGN                                                   !2, ~26
    7    89        PRE_INC                                                  !3
         90    >   COUNT                                            ~29     !1
         91        IS_SMALLER                                               !3, ~29
         92      > JMPNZ                                                    ~30, ->9
   44    93    >   INIT_FCALL                                               'implode'
         94        SEND_VAL                                                 '-'
         95        INIT_FCALL                                               'str_split'
         96        SEND_VAR                                                 !2
         97        SEND_VAL                                                 3
         98        DO_ICALL                                         $32     
         99        SEND_VAR                                                 $32
        100        DO_ICALL                                         $33     
        101        ASSIGN_DIM                                               !5
        102        OP_DATA                                                  $33
    4   103      > JMP                                                      ->2
        104    >   FE_FREE                                                  $7
   46   105        FETCH_DIM_R                                      ~34     !5, 0
        106        ECHO                                                     ~34
        107      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146.43 ms | 1408 KiB | 19 Q