Comment convertir des caractères chinois en nombres en PHP : créez d'abord une fonction auxiliaire "checkNatInt" pour identifier les nombres dans la chaîne ; puis utilisez la méthode "echo checkNatInt('nine million six cent mille');" Affichez simplement le résultat de la conversion.
Recommandé : "Tutoriel vidéo PHP"
php pour convertir le chinois en chiffres
Ce que je partage avec vous ici est un code pour convertir le chinois en chiffres en utilisant PHP. Il est très intelligent et parfait. Les amis dans le besoin peuvent s'y référer.
Partagez une fonction auxiliaire, utilisez PHP pour identifier autant que possible les nombres dans la chaîne,
Entrez d'abord le code
function checkNatInt($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($plus as $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); } //来自uct php微信开发框架,其中的checkString函数如下 function checkString($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; }
L'effet est la suivante.
echo checkNatInt('九百六十万'); //普通中文数字,9600000 echo checkNatInt('壹亿柒仟万零捌佰肆拾'); //大写中文数字,170000840 echo checkNatInt('学好PHP拿百万年薪'); //句子中的数字, 1000000 echo checkNatInt('今年春运发送人次达26亿'); //数字和汉字混合出现,2600000000 echo checkNatInt('两只小蜜蜂'); //口语化数字,2 echo checkNatInt('万万没想到'); //复古的表达方式,100000000
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!