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'); echo count($phoneNumbers); for($i=0;$i<count($phoneNumbers);$i++) { $newPhoneNumber = ""; $phoneNumber= $phoneNumbers[$i]; for($j=0;$j<count($phoneNumber);$j++){ $number = $phoneNumber[$j]; ///echo $j."\r\n"; 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; //echo $number; } $newPhoneNumbers[] = implode("-",str_split($newPhoneNumber,3)); } print ($newPhoneNumbers[0]);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 105
Branch analysis from position: 105
2 jumps found. (Code = 44) Position 1 = 108, Position 2 = 5
Branch analysis from position: 108
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 91
Branch analysis from position: 91
2 jumps found. (Code = 44) Position 1 = 94, Position 2 = 10
Branch analysis from position: 94
2 jumps found. (Code = 44) Position 1 = 108, Position 2 = 5
Branch analysis from position: 108
Branch analysis from position: 5
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 88
Branch analysis from position: 17
28 jumps found. (Code = 188) Position 1 = 71, Position 2 = 71, Position 3 = 71, Position 4 = 73, Position 5 = 73, Position 6 = 73, Position 7 = 75, Position 8 = 75, Position 9 = 75, Position 10 = 77, Position 11 = 77, Position 12 = 77, Position 13 = 79, Position 14 = 79, Position 15 = 79, Position 16 = 81, Position 17 = 81, Position 18 = 81, Position 19 = 81, Position 20 = 83, Position 21 = 83, Position 22 = 83, Position 23 = 85, Position 24 = 85, Position 25 = 85, Position 26 = 85, Position 27 = 87, Position 28 = 18
Branch analysis from position: 71
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
2 jumps found. (Code = 44) Position 1 = 94, Position 2 = 10
Branch analysis from position: 94
Branch analysis from position: 10
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 73
Branch analysis from position: 73
Branch analysis from position: 75
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 75
Branch analysis from position: 75
Branch analysis from position: 77
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 77
Branch analysis from position: 77
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 79
Branch analysis from position: 79
Branch analysis from position: 81
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 81
Branch analysis from position: 81
Branch analysis from position: 81
Branch analysis from position: 83
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 83
Branch analysis from position: 83
Branch analysis from position: 85
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
Branch analysis from position: 85
Branch analysis from position: 85
Branch analysis from position: 85
Branch analysis from position: 87
2 jumps found. (Code = 44) Position 1 = 94, Position 2 = 10
Branch analysis from position: 94
Branch analysis from position: 10
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 20, Position 2 = 71
Branch analysis from position: 20
2 jumps found. (Code = 44) Position 1 = 22, Position 2 = 71
Branch analysis from position: 22
2 jumps found. (Code = 44) Position 1 = 24, Position 2 = 71
Branch analysis from position: 24
2 jumps found. (Code = 44) Position 1 = 26, Position 2 = 73
Branch analysis from position: 26
2 jumps found. (Code = 44) Position 1 = 28, Position 2 = 73
Branch analysis from position: 28
2 jumps found. (Code = 44) Position 1 = 30, Position 2 = 73
Branch analysis from position: 30
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 75
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 34, Position 2 = 75
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 36, Position 2 = 75
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 77
Branch analysis from position: 38
2 jumps found. (Code = 44) Position 1 = 40, Position 2 = 77
Branch analysis from position: 40
2 jumps found. (Code = 44) Position 1 = 42, Position 2 = 77
Branch analysis from position: 42
2 jumps found. (Code = 44) Position 1 = 44, Position 2 = 79
Branch analysis from position: 44
2 jumps found. (Code = 44) Position 1 = 46, Position 2 = 79
Branch analysis from position: 46
2 jumps found. (Code = 44) Position 1 = 48, Position 2 = 79
Branch analysis from position: 48
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 81
Branch analysis from position: 50
2 jumps found. (Code = 44) Position 1 = 52, Position 2 = 81
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 54, Position 2 = 81
Branch analysis from position: 54
2 jumps found. (Code = 44) Position 1 = 56, Position 2 = 81
Branch analysis from position: 56
2 jumps found. (Code = 44) Position 1 = 58, Position 2 = 83
Branch analysis from position: 58
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 83
Branch analysis from position: 60
2 jumps found. (Code = 44) Position 1 = 62, Position 2 = 83
Branch analysis from position: 62
2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 85
Branch analysis from position: 64
2 jumps found. (Code = 44) Position 1 = 66, Position 2 = 85
Branch analysis from position: 66
2 jumps found. (Code = 44) Position 1 = 68, Position 2 = 85
Branch analysis from position: 68
2 jumps found. (Code = 44) Position 1 = 70, Position 2 = 85
Branch analysis from position: 70
1 jumps found. (Code = 42) Position 1 = 87
Branch analysis from position: 87
Branch analysis from position: 85
Branch analysis from position: 85
Branch analysis from position: 85
Branch analysis from position: 85
Branch analysis from position: 83
Branch analysis from position: 83
Branch analysis from position: 83
Branch analysis from position: 81
Branch analysis from position: 81
Branch analysis from position: 81
Branch analysis from position: 81
Branch analysis from position: 79
Branch analysis from position: 79
Branch analysis from position: 79
Branch analysis from position: 77
Branch analysis from position: 77
Branch analysis from position: 77
Branch analysis from position: 75
Branch analysis from position: 75
Branch analysis from position: 75
Branch analysis from position: 73
Branch analysis from position: 73
Branch analysis from position: 73
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 71
Branch analysis from position: 88
filename:       /in/oMfsV
function name:  (null)
number of ops:  111
compiled vars:  !0 = $phoneNumbers, !1 = $i, !2 = $newPhoneNumber, !3 = $phoneNumber, !4 = $j, !5 = $number, !6 = $newPhoneNumbers
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    3     1        COUNT                                            ~8      !0
          2        ECHO                                                     ~8
    4     3        ASSIGN                                                   !1, 0
          4      > JMP                                                      ->105
    5     5    >   ASSIGN                                                   !2, ''
    6     6        FETCH_DIM_R                                      ~11     !0, !1
          7        ASSIGN                                                   !3, ~11
    7     8        ASSIGN                                                   !4, 0
          9      > JMP                                                      ->91
    8    10    >   FETCH_DIM_R                                      ~14     !3, !4
         11        ASSIGN                                                   !5, ~14
   11    12        INIT_FCALL                                               'is_numeric'
         13        SEND_VAR                                                 !5
         14        DO_ICALL                                         $16     
         15        BOOL_NOT                                         ~17     $16
         16      > JMPZ                                                     ~17, ->88
   12    17    > > SWITCH_STRING                                            !5, [ 'A':->71, 'B':->71, 'C':->71, 'D':->73, 'E':->73, 'F':->73, 'G':->75, 'H':->75, 'I':->75, 'J':->77, 'K':->77, 'L':->77, 'M':->79, 'N':->79, 'O':->79, 'P':->81, 'Q':->81, 'R':->81, 'S':->81, 'T':->83, 'U':->83, 'V':->83, 'W':->85, 'X':->85, 'Y':->85, 'Z':->85, ], ->87
   13    18    >   IS_EQUAL                                                 !5, 'A'
         19      > JMPNZ                                                    ~18, ->71
   14    20    >   IS_EQUAL                                                 !5, 'B'
         21      > JMPNZ                                                    ~18, ->71
   15    22    >   IS_EQUAL                                                 !5, 'C'
         23      > JMPNZ                                                    ~18, ->71
   16    24    >   IS_EQUAL                                                 !5, 'D'
         25      > JMPNZ                                                    ~18, ->73
   17    26    >   IS_EQUAL                                                 !5, 'E'
         27      > JMPNZ                                                    ~18, ->73
   18    28    >   IS_EQUAL                                                 !5, 'F'
         29      > JMPNZ                                                    ~18, ->73
   19    30    >   IS_EQUAL                                                 !5, 'G'
         31      > JMPNZ                                                    ~18, ->75
   20    32    >   IS_EQUAL                                                 !5, 'H'
         33      > JMPNZ                                                    ~18, ->75
   21    34    >   IS_EQUAL                                                 !5, 'I'
         35      > JMPNZ                                                    ~18, ->75
   22    36    >   IS_EQUAL                                                 !5, 'J'
         37      > JMPNZ                                                    ~18, ->77
   23    38    >   IS_EQUAL                                                 !5, 'K'
         39      > JMPNZ                                                    ~18, ->77
   24    40    >   IS_EQUAL                                                 !5, 'L'
         41      > JMPNZ                                                    ~18, ->77
   25    42    >   IS_EQUAL                                                 !5, 'M'
         43      > JMPNZ                                                    ~18, ->79
   26    44    >   IS_EQUAL                                                 !5, 'N'
         45      > JMPNZ                                                    ~18, ->79
   27    46    >   IS_EQUAL                                                 !5, 'O'
         47      > JMPNZ                                                    ~18, ->79
   28    48    >   IS_EQUAL                                                 !5, 'P'
         49      > JMPNZ                                                    ~18, ->81
   29    50    >   IS_EQUAL                                                 !5, 'Q'
         51      > JMPNZ                                                    ~18, ->81
   30    52    >   IS_EQUAL                                                 !5, 'R'
         53      > JMPNZ                                                    ~18, ->81
   31    54    >   IS_EQUAL                                                 !5, 'S'
         55      > JMPNZ                                                    ~18, ->81
   32    56    >   IS_EQUAL                                                 !5, 'T'
         57      > JMPNZ                                                    ~18, ->83
   33    58    >   IS_EQUAL                                                 !5, 'U'
         59      > JMPNZ                                                    ~18, ->83
   34    60    >   IS_EQUAL                                                 !5, 'V'
         61      > JMPNZ                                                    ~18, ->83
   35    62    >   IS_EQUAL                                                 !5, 'W'
         63      > JMPNZ                                                    ~18, ->85
   36    64    >   IS_EQUAL                                                 !5, 'X'
         65      > JMPNZ                                                    ~18, ->85
   37    66    >   IS_EQUAL                                                 !5, 'Y'
         67      > JMPNZ                                                    ~18, ->85
   38    68    >   IS_EQUAL                                                 !5, 'Z'
         69      > JMPNZ                                                    ~18, ->85
         70    > > JMP                                                      ->87
   15    71    >   ASSIGN                                                   !5, 2
         72      > JMP                                                      ->88
   18    73    >   ASSIGN                                                   !5, 3
         74      > JMP                                                      ->88
   21    75    >   ASSIGN                                                   !5, 4
         76      > JMP                                                      ->88
   24    77    >   ASSIGN                                                   !5, 5
         78      > JMP                                                      ->88
   27    79    >   ASSIGN                                                   !5, 6
         80      > JMP                                                      ->88
   31    81    >   ASSIGN                                                   !5, 7
         82      > JMP                                                      ->88
   34    83    >   ASSIGN                                                   !5, 8
         84      > JMP                                                      ->88
   38    85    >   ASSIGN                                                   !5, 9
         86      > JMP                                                      ->88
   39    87    >   ASSIGN                                                   !5, ''
   42    88    >   CONCAT                                           ~28     !2, !5
         89        ASSIGN                                                   !2, ~28
    7    90        PRE_INC                                                  !4
         91    >   COUNT                                            ~31     !3
         92        IS_SMALLER                                               !4, ~31
         93      > JMPNZ                                                    ~32, ->10
   45    94    >   INIT_FCALL                                               'implode'
         95        SEND_VAL                                                 '-'
         96        INIT_FCALL                                               'str_split'
         97        SEND_VAR                                                 !2
         98        SEND_VAL                                                 3
         99        DO_ICALL                                         $34     
        100        SEND_VAR                                                 $34
        101        DO_ICALL                                         $35     
        102        ASSIGN_DIM                                               !6
        103        OP_DATA                                                  $35
    4   104        PRE_INC                                                  !1
        105    >   COUNT                                            ~37     !0
        106        IS_SMALLER                                               !1, ~37
        107      > JMPNZ                                                    ~38, ->5
   47   108    >   FETCH_DIM_R                                      ~39     !6, 0
        109        ECHO                                                     ~39
        110      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.7 ms | 1412 KiB | 19 Q