"",1=>"壹",2=>"贰",3=>"叁",4=>"肆",5=>"伍",6=>"陆",7=>"柒",8=>"捌",9=>"玖"); $loc = array(0=>"零",1=>"",2=>"拾",3=>"佰",4=>"仟"); $level = array("","万","亿","兆"); $result = NULL; $len = ceil(strlen($str)/4); $l = strlen($str)-1; $arr = array(); //分段 for($i = 0;$i < $len;$i++){ for($p =0 ;$p < 4;$p++){ if($l == -1) break; $arr[$i] .= $str[$l--]; } $arr[$i] = strrev($arr[$i]); } $cou = count($arr); //分段转换 for($i = $cou -1;$i > -1;$i--){ //获取每段循环的次数 $lo = $O = strlen($arr[$i]); //转换 for($m = 0;$m < $O;$m++){ //不是0 if($arr[$i][$m] != 0){ $locc = $loc[$lo]; }else{ //最后一位是0 if(($m+1) == $O){ $locc = NULL; }else{//中间存在的0 if($arr[$i][$m + 1] != 0){//当下一个数字不为0的时候加“零” $locc = $loc[0]; }else{ $locc = NULL; } } } $lo--; $result .= $Big[$arr[$i][$m]].$locc; } $result .= $level[$i]; } return $result; } echo trans($_GET["a"]);