您的位置:首页 > 编程语言 > PHP开发

PHP 一百一十八 中文数字转换成数组

2013-12-25 13:55 323 查看
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
function a($v) {

$bas = array("十" => '*10+',"百" => '*100+',"千" => '*1000+',"万" => '*10000+', '亿' => '*100000000+');
$nums = array("一" => 1, "二" => 2, "三" => 3, "四" => 4, "五" => 5, "六" => 6, "七" => 7, "八" => 8, "九" =>9);

$v = strtr($v,$nums);
$v = strtr($v, $bas);
$v = str_replace('零','',$v);
//判断 +* 的情况 变成 *
$v = str_replace('+*','*',$v);

//判断为0的情况
if(empty($v)) {
$v = 0;
}

//*在第一位的时候  就*1 保证值不变  不会出现执行异常
if(strpos($v, '*') === 0) {
$v = '1'.$v;
}

//+在最后一位时 变成 +0 保证值不变
if( strripos($v, '+') === strlen($v)-1) {
$v = $v. '0';
}

$v = '$sum = '.$v. ';';
eval($v);
return $sum;

//return $v;
}

//$vars = explode(",", "一,二,十一,十二,二十二,四十三,一百一十八,七百五十八,一千零五十六,一千九百四十二,一千零五十,一万零五百零三,一万零一,一万");
$vars = explode(",", "零,一,二,十一,十二,二十二,四十三,一百一十八,七百五十八,一千五十六,一千九百四十二,一千零五十,一万零五百零三,十万零一,一亿零十万零二十,五千亿");
foreach($vars as $v){
echo $v. ' : '. a($v). '<br />';
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: