您正在使用IPV4(54.161.98.96)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年74元      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 情人节 18
2022年 元宵节 19
2023年 元 旦 339
2022年 春 节 5
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> PHP >> 内容
    php实现中文转数字
    内容摘要: functioncheckNatInt($str){$map=array('一'='1','二'='2','三'='3','四'='4','五'='5','六'='6','七'='7','八'='8','九'='9','壹'='1','贰'='2','叁'='3','肆'='4','伍'='5','陆'='6','柒'='7','捌'='8','玖'='9'......
    functioncheckNatInt($str){

    $map=array(

    '一'=>'1','二'=>'2','三'=>'3','四'=>'4','五'=>'5','六'=>'6','七'=>'7','八'=>'8','九'=>'9',

    '壹'=>'1','贰'=>'2','叁'=>'3','肆'=>'4','伍'=>'5','陆'=>'6','柒'=>'7','捌'=>'8','玖'=>'9',

    '零'=>'0','两'=>'2',

    '仟'=>'千','佰'=>'百','拾'=>'十',

    '万万'=>'亿',

    );

    $str=str_replace(array_keys($map),array_values($map),$str);

    $str=checkString($str,'/([d亿万千百十]+)/u');

    $func_c2i=function($str,$plus=false)use(&$func_c2i){

    if(false===$plus){

    $plus=array('亿'=>100000000,'万'=>10000,'千'=>1000,'百'=>100,'十'=>10,);

    }

    $i=0;

    if($plus)

    foreach($plusas$k=>$v){

    $i++;

    if(strpos($str,$k)!==false){

    $ex=explode($k,$str,2);

    $new_plus=array_slice($plus,$i,null,true);

    $l=$func_c2i($ex[0],$new_plus);

    $r=$func_c2i($ex[1],$new_plus);

    if($l==0)$l=1;

    return$l*$v+$r;

    }

    }

    return(int)$str;

    }

    return$func_c2i($str);

    }

    //来自uctphp微信开发框架,其中的checkString函数如下

    functioncheckString($var,$check='',$default=''){

    if(!is_string($var)){

    if(is_numeric($var)){

    $var=(string)$var;

    }

    else{

    return$default;

    }

    }

    if($check){

    return(preg_match($check,$var,$ret)?$ret[1]:$default);

    }

    return$var;

    }

    实现效果如下。

    echocheckNatInt('九百六十万');//普通中文数字,9600000

    echocheckNatInt('壹亿柒仟万零捌佰肆拾');//大写中文数字,170000840

    echocheckNatInt('学好PHP拿百万年薪');//句子中的数字,1000000

    echocheckNatInt('今年春运发送人次达26亿');//数字和汉字混合出现,2600000000

    echocheckNatInt('两只小蜜蜂');//口语化数字,2

    echocheckNatInt('万万没想到');//复古的表达方式,100000000

    上一篇:php+ajax 实现输入读取数据库显示匹配信息 下一篇:php基于登陆时间判断实现一天多次登录只积分一次功能
    发布日期:2021/12/31
    手机扫二维码直达本页
    发布时间:12:38:15
    点击:247
    录入:齐天大圣
    相关文章
    Baidu
    YiJiaCMS 6.1.0.10988 Build 21.12.28(MSSQL) 闽ICP备05000814号-1
    本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护

    Copyright©2000-2022