一个数字小写转大写的PHP类

自己写的一个不太规则的类,欢迎大家指出错误,测试出错误。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
<!--
function lengths(){
  values = document.form1.key.value;
  len = values.length;
  if(len>12){
   document.form1.key.value = values.substr(0,12);
  }
  setTimeout("lengths()",10);
}
//-->
</script>
</head>

<body>
<?php
////////////////////////////////////
///用类写一个数字小写转大写的程序///
///初学乍到,第一次使用对象,这个///
///类写的也是长篇大论,我是新手,///
///呵呵,见笑了!感谢高手指教    ///
////////////////////////////////////
class product{
  public $math=123456;
  private $ten=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
  private $unit=array("拾","佰","仟","万","亿");
  public function yesno(){
    $mt=trim($this->math);
        $mts=$mt;
        $len=strlen($mts);
        $this->eregs($mt,$len);
  }
  private function eregs($a,$b){
        if($b<5){
          $math1 = $a;
          echo $this->geta($math1,$len);
        }
        if($b>4 && $b<9){
          $math1 = substr($a,0,$b-4);
          $math2 = substr($a,-4);
          $zeor = substr($a,-4);
          if($zeor=="0000"){
            echo $this->geta($math1,$len).$this->unit[3];
          }else{
            echo $this->geta($math1,$len).$this->unit[3].$this->geta($math2,$len);
          }
        }
        if($b>8){
          $math1 = substr($a,0,$b-8);
          $math2 = substr($a,-8,4);
          $math3 = substr($a,-4);
          $zeor = substr($a,-8,4);
          $zeor1 = substr($a,-4);
          $zeor2 = substr($a,-4,1);
          if($zeor=="0000" && $zeor1=="0000"){
            echo $this->geta($math1,$len).$this->unit[4];
          }
          if($zeor=="0000" && $zeor1!="0000" && $zeor2==="0"){
            echo $this->geta($math1,$len).$this->unit[4].$this->geta($math3,$len);
          }
          if($zeor=="0000" && $zeor1!="0000" && $zeor2!=="0"){
            echo $this->geta($math1,$len).$this->unit[4].$this->ten[0].$this->geta($math3,$len);
          }
          if($zeor!=="0000" && $zeor1!=="0000"){
            echo $this->geta($math1,$len).$this->unit[4].$this->geta($math2,$len).$this->unit[3].$this->geta($math3,$len);
          }
        }
  }
  private function geta($maths,$h){
    $len = strlen($maths);
        if($len === 1){
          $m1 = $maths;
          return $this->unit($m1);
        }
        if($len == 2){
          $m1 = substr($maths,0,1);
          $m2 = substr($maths,-1);
          if($m1==="0" && $m2!=="0"){      //  01     
            return $this->unit($m2);
          }
          if($m1==="0" && $m2==="0"){      //  00
            return ;
          }
          if($m1!=="0" && $m2==="0"){      //  10
            return $this->unit($m1).$this->unit[0];
          }
          if($m1!=="0" && $m2!=="0"){      //  11
            return $this->unit($m1).$this->unit[0].$this->unit($m2);
          }
        }                          ////////////////////////////////////////////////////2
        if($len == 3){
          $m1 = substr($maths,0,1);
          $m2 = substr($maths,1,1);
          $m3 = substr($maths,-1);
          if($m1==="0" && $m2==="0" && $m3==="0"){     //  000
            return ;
          }
          if($m1==="0" && $m2!=="0" && $m3!=="0"){     //  012
            return $this->unit($m2).$this->unit[0].$this->unit($m3);
          }
          if($m1==="0" && $m2==="0" && $m3!=="0"){     //  001
            return $this->unit($m3);
          }
          if($m1==="0"  && $m2!=="0" && $m3==="0"){    //  010
             return $this->unit($m2).$this->unit[0];
          }
          if($m1!=="0"  && $m2==="0" && $m3==="0"){    //  100
            return $this->unit($m1).$this->unit[1];
          }
          if($m1!=="0"  && $m2!=="0" && $m3==="0"){    //  120
             return $this->unit($m1).$this->unit[1].$this->unit($m2).$this->unit[0];
          }  
          if($m1!=="0"  && $m2==="0" && $m3!=="0"){    //  102
             return $this->unit($m1).$this->unit[1].$this->unit($m2).$this->unit($m3);
          }
          if($m1!=="0" && $m2!=="0" && $m3!=="0"){     //  123
            return $this->unit($m1).$this->unit[1].$this->unit($m2).$this->unit[0].$this->unit($m3);
          }
        }                                     /////////////////////////////////////////////////////////3
        if($len == 4){  //112,0000,0234
          $m1 = substr($maths,0,1);
          $m2 = substr($maths,1,1);
          $m3 = substr($maths,2,1);
          $m4 = substr($maths,-1);
          if($m1==="0" && $m2!=="0" && $m3!=="0" && $m4!=="0"){                 //  0123
            return $this->unit($m1).$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0].$this->unit($m4);
          }
          if($m1!=="0" && $m2==="0" && $m3!=="0" && $m4!=="0"){                 //  1023
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m3).$this->unit[0].$this->unit($m4);
          }
          if($m1!=="0" && $m2!=="0" && $m3==="0" && $m4!=="0"){                 //  1203
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit($m4);
          }
          if($m1!=="0" && $m2!=="0" && $m3!=="0" && $m4==="0"){                //   1230
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0];
          }
          if($m1==="0" && $m2==="0" && $m3!=="0" && $m4!=="0"){                //   0012
            return $this->unit($m2).$this->unit($m3).$this->unit[0].$this->unit($m4);
          }
          if($m1!=="0" && $m2==="0" && $m3==="0" && $m4!=="0"){                //   1002
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m4);
          }
          if($m1!=="0" && $m2!=="0" && $m3==="0" && $m4==="0"){                //   1200
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1];
          }
          if($m1==="0" && $m2!=="0" && $m3!=="0" && $m4==="0"){                //   0120
            return $this->unit($m1).$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0];
          }
          if($m1!=="0" && $m2==="0" && $m3==="0" && $m4!=="0"){                //   1002
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m4);
          }
          if($m1==="0" && $m2!=="0" && $m3==="0" && $m4!=="0"){                //   0102  
            return $this->unit($m1).$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit($m4);
          }
          if($m1!=="0" && $m2==="0" && $m3!=="0" && $m4==="0"){                //   1020
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit($m3).$this->unit[0];
          }
          if($m1!=="0" && $m2==="0" && $m3==="0" && $m4==="0"){                //   1000
            return $this->unit($m1).$this->unit[2];
          }
          if($m1==="0" && $m2!=="0" && $m3==="0" && $m4==="0"){                //   0100
            return $this->unit($m1).$this->unit($m2).$this->unit[1];
          }
          if($m1==="0" && $m2==="0" && $m3!=="0" && $m4==="0"){                //   0010
            return $this->unit($m1).$this->unit($m3).$this->unit[0];
          }
          if($m1==="0" && $m2==="0" && $m3==="0" && $m4!=="0"){                //   0001
            return $this->unit($m1).$this->unit($m4);
          }
          if($m1==="0" && $m2==="0" && $m3==="0" && $m4==="0"){                //   0000
            return $this->unit($m1);
          }
          if($m1!=="0" && $m2!=="0" && $m3!=="0" && $m4!=="0"){                //   1234
            return $this->unit($m1).$this->unit[2].$this->unit($m2).$this->unit[1].$this->unit($m3).$this->unit[0].$this->unit($m4);
          }
        }
  }
  private function unit($ta){
    switch($ta){
          case "0":return $this->ten[0];break;
          case "1":return $this->ten[1];break;
          case "2":return $this->ten[2];break;
          case "3":return $this->ten[3];break;
          case "4":return $this->ten[4];break;
          case "5":return $this->ten[5];break;
          case "6":return $this->ten[6];break;
          case "7":return $this->ten[7];break;
          case "8":return $this->ten[8];break;
          case "9":return $this->ten[9];break;
        }
  }
}

?>
<div style="width:700px;height:25px;padding-top:4px;border:#999999 solid 1px;color:#FF0000;font-weight: bold" id="txt">
<?php
if(!empty($_POST['key'])){
  $abc=new product();
  $abc->math=trim($_POST['key']);
  $abc->yesno();
}
?>
</div>
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="key" onfocus="lengths();javacript:if(this.value='请输入数字')this.value='';" onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" value="请输入数字" />
</label>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</form>
</body>
</html>