Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 1.89 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?php
  2. class phone2alpha{
  3.     public $alphaCombo = array();
  4.     public function __construct($pn){
  5.         $pnLen = strlen($pn); //phone number len
  6.         $pnarray = $this->splitArray($pn); //create number to char array
  7.         $phoneChars=array();
  8.         foreach($pnarray as $num){
  9.             foreach($this->ntl($num) as $char){
  10.                 array_push($phoneChars, $char); //add to global number(char) array
  11.             }
  12.         }
  13.         $this->lit($phoneChars);
  14.     }
  15.     private function lit($phoneChars){
  16.         $pcLen=count($phoneChars);
  17.         for($i=0; $i<$pcLen; $i++){
  18.             for($j=0; $j<$pcLen; $j++){
  19.                 for($k=0; $k<$pcLen; $k++){
  20.                     for($l=0; $l<$pcLen; $l++){
  21.                         array_push($this->alphaCombo, $phoneChars[$i].$phoneChars[$j].$phoneChars[$k].$phoneChars[$l]);
  22.                     }
  23.                 }
  24.             }
  25.         }
  26.     }
  27.     private function ntl($n) {
  28.         $vals = array();
  29.         switch($n) {
  30.                 case '1':
  31.                         $vals = array('1');
  32.                         break;
  33.                 case '2':
  34.                         $vals = array('a','b','c');
  35.                         break;
  36.                 case '3':
  37.                         $vals = array('d','e','f');
  38.                         break;
  39.                 case '4':
  40.                         $vals = array('g','h','i');
  41.                         break;
  42.                 case '5':
  43.                         $vals = array('j','k','l');
  44.                         break;
  45.                 case '6':
  46.                         $vals = array('m','n','o');
  47.                         break;
  48.                 case '7':
  49.                         $vals = array('p','q','r','s');
  50.                         break;
  51.                 case '8':
  52.                         $vals = array('t','u','v');
  53.                         break;
  54.                 case '9':
  55.                         $vals = array('w','x','y','z');
  56.                         break;
  57.                 default:
  58.                         $vals = array('0');
  59.                 break;
  60.         }
  61.         return $vals;
  62.     }
  63.    
  64.     public function splitArray($s) {
  65.         $return = array();
  66.         $chars = str_split($s);
  67.         foreach($chars as $char) {
  68.                 array_push($return, $char);
  69.         }
  70.         return $return;
  71.     }
  72. }
  73. ?>