数字转化为函数

<?php
header('Content-Type: text/html; charset=utf-8');
function num2str($num)
{
$unit = array('', '十', '百', '千');
$units = array('', '万', '亿', '兆');
$number = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九');
//去掉前面的0
$num = intval($num);
//反转字符串
$backNumber = strrev($num);
$r = "";
$i4 = -1;
$zero = "";
$len = strlen($backNumber);
for ($i = 0; $i < $len; $i++) {
if ($i % 4 == 0) {
$i4++;
$r = $units[$i4] . $r;
$zero = "";
}
//处理0
if ($backNumber{$i} == '0') {
switch ($i % 4) {
case 0:
break;
case 1:
case 2:
case 3:
if ($backNumber{$i - 1} != '0') $zero = "零";
break;
}
$r = $zero . $r;
$zero = '';
} else {
$r = $number[intval($backNumber{$i})] . $unit[$i % 4] . $r;
}
}
//处理前面的0
$zPos = strpos($r, "零");
if ($zPos == 0 && $zPos !== false) $r = substr($r, 2, strlen($r) - 2);
return empty($r) ? '零' : $r;
}
echo num2str('123');

posted @ 2015-03-03 16:03  Eason左溢  阅读(206)  评论(0)    收藏  举报