/**
* 处理数字转换成中文汉字(只处理到99999的数字)
* @param intger $number 数字
* @return string $char 中文汉字
* @author liujinghai
*/
public static function number2chinese($number) {
$bitsNumber = array('零','一','二','三','四','五','六','七','八','九'); //数字
$nuitNumber = array('','十','百','千','万'); //单位
//不处理小数不能超过99999
$number = intval($number);
if($number > 99999 || $number < 0) {
return '';
}
if($number == 0) {
return '零';
}
//循环数字
$str = array();
$number = strrev($number);
for($i=0;$i<strlen($number);$i++) {
$str[] = ($number[$i] != '0')? $nuitNumber[$i%5] : "";
$str[] = $bitsNumber[$number[$i]];
}
//合并数组
$char = implode('', array_reverse($str));
//用正则去掉两个零或者有零结尾的情况
$char = preg_replace('/零零|零$/', '', $char);
//对于一十到二十以内的数字之间用十几表示
$tenNumber = array('一十','一十一','一十二','一十三','一十四','一十五','一十六','一十七','一十八','一十九');
if(in_array($char, $tenNumber)) {
$char = str_replace($tenNumber, '十', $char);
}
return $char;
}