网络上看了几个版本觉的太复杂, 自己动手最实在
function to_ch($val, $prepand = 0)
{
$num2ch = array("零", "壹", "贰", "参", "肆", "伍", "陆", "柒", "捌", "玖");
$num2ch2 = array("元", "拾", "佰", "仟", "万", "拾", "佰", "仟");
$val2 = (string) $val;
$val3 = '';
if($prepand == 1)
{
$len2 = strlen($val2);
for($i=0;$i< (count($num2ch2)-$len2);$i++)
$val2 = "0" . $val2;
}
for($i=0;$i<strlen($val2);$i++)
{
$rev_i = strlen($val2) - $i -1;
$val3 = $num2ch[substr($val2,$rev_i,1)] ." " . $num2ch2[$i]. " " .$val3;
}
return $val3;
}
num2ch2 可照需求扩充到亿等单位, prepand 带1 会完整列出 num2ch2 的长度.
input: 1077292
output(prepend) = 零 仟 壹 佰 零 拾 柒 万 柒 仟 贰 佰 玖 拾 贰 元
output(no-pre) = 壹 佰 零 拾 柒 万 柒 仟 贰 佰 玖 拾 贰 元