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

    <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 />';  
    }  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值