可以使用以下代码将一个数字转换成中文表示的字符串:
function num2zh($num) {
$capnum = array("零","一","二","三","四","五","六","七","八","九");
$capdigit = array("","十","百","千","万");
$data = str_split($num);
$count = count($data);
$last_flag = true;
$result = "";
for ($i=0; $i<$count; $i++) {
$n = $data[$i];
$d = $count - $i - 1;
$q = $capdigit[$d];
if ($n == "0") {
$last_flag = false;
} else {
if (!$last_flag) {
$result .= $capnum[0];
}
$result .= $capnum[$n].$q;
$last_flag = true;
}
}
if ($result == "") {
$result = $capnum[0];
}
return $result;
}
上述代码中,使用了两个数组 $capnum
和 $capdigit
,分别存储了数字和每个数字位上的汉字表示。在函数中,首先把输入的数字拆分成每个位上的数值,然后根据每个位上的数值和对应的汉字表示,拼接成最终的中文字符串。注意,这里默认输入的数字小于等于十万。