Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man chinesische Schriftzeichen in PHP in Zahlen umwandelt

Wie man chinesische Schriftzeichen in PHP in Zahlen umwandelt

藏色散人
藏色散人Original
2020-10-08 16:00:532310Durchsuche

So konvertieren Sie chinesische Zeichen in Zahlen: Erstellen Sie zunächst eine PHP-Beispieldatei. Implementieren Sie dann die Konvertierung über die benutzerdefinierte Methode „checkNatInt“. Geben Sie schließlich das Konvertierungsergebnis über Echo aus.

Wie man chinesische Schriftzeichen in PHP in Zahlen umwandelt

Empfehlung: „PHP-Video-Tutorial

php zur Umsetzung der chinesischen Konvertierung in Zahlen (getestet und einfach zu verwenden)

Gemeinsame Nutzung einer Hilfsfunktion, Verwendung von PHP zur Identifizierung der Zahlen in der Zeichenfolge möglich,

zuerst Der 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;
}

erzielt den Effekt wie folgt.

echo checkNatInt('九百六十万'); //普通中文数字,9600000
echo checkNatInt('壹亿柒仟万零捌佰肆拾'); //大写中文数字,170000840
  
  
echo checkNatInt('学好PHP拿百万年薪'); //句子中的数字, 1000000
echo checkNatInt('今年春运发送人次达26亿'); //数字和汉字混合出现,2600000000
  
echo checkNatInt('两只小蜜蜂'); //口语化数字,2
echo checkNatInt('万万没想到'); //复古的表达方式,100000000

Das obige ist der detaillierte Inhalt vonWie man chinesische Schriftzeichen in PHP in Zahlen umwandelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn