php输入数字打出汉字,php如何实现数字转汉字

php如何实现数字转汉字

php数字转汉字的实现方法:首先创建一个PHP代码示例文件;然后定义一个“number2Chinese”方法;接着在方法体中通过switch循环语句实现转换逻辑;最后执行该文件即可。

d19ec2ef72e217a5b5bbe2cead07d4b5.png

推荐:《PHP教程》

PHP- 数字转汉字//数字转汉字

function number2Chinese($num, $m = 1)

{

switch($m) {

case 0:

$CNum = array(

array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'),

array('','拾','佰','仟'),

array('','萬','億','萬億')

);

break;

default:

$CNum = array(

array('零','一','二','三','四','五','六','七','八','九'),

array('','十','百','千'),

array('','万','亿','万亿')

);

break;

}

// $cNum = array('零','一','二','三','四','五','六','七','八','九');

if (is_integer($num)) {

$int = (string)$num;

} else if (is_numeric($num)) {

$num = explode('.', (string)floatval($num));

$int = $num[0];

$fl = isset($num[1]) ? $num[1] : FALSE;

}

// 长度

$len = strlen($int);

// 中文

$chinese = array();

// 反转的数字

$str = strrev($int);

for($i = 0; $i

$s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]);

$j = '';

// 千位

if ($s[3] !== '') {

$s[3] = (int) $s[3];

if ($s[3] !== 0) {

$j .= $CNum[0][$s[3]].$CNum[1][3];

} else {

if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) {

$j .= $CNum[0][0];

}

}

}

// 百位

if ($s[2] !== '') {

$s[2] = (int) $s[2];

if ($s[2] !== 0) {

$j .= $CNum[0][$s[2]].$CNum[1][2];

} else {

if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) {

$j .= $CNum[0][0];

}

}

}

// 十位

if ($s[1] !== '') {

$s[1] = (int) $s[1];

if ($s[1] !== 0) {

$j .= $CNum[0][$s[1]].$CNum[1][1];

} else {

if ($s[0]!=0 && $s[2] != 0) {

$j .= $CNum[0][$s[1]];

}

}

}

// 个位

if ($s[0] !== '') {

$s[0] = (int) $s[0];

if ($s[0] !== 0) {

$j .= $CNum[0][$s[0]].$CNum[1][0];

} else {

// $j .= $CNum[0][0];

}

}

$j.=$CNum[2][$i/4];

array_unshift($chinese, $j);

}

$chs = implode('', $chinese);

if ($fl) {

$chs .= '点';

for($i=0,$j=strlen($fl); $i

$t = (int)$fl[$i];

$chs.= $str[0][$t];

}

}

return $chs;

}

php如何实现数字转汉字的教程已介绍完毕,更多请关注跳墙网其他文章教程!

php如何实现数字转汉字相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值