Maison >développement back-end >Problème PHP >Comment convertir des nombres majuscules en chiffres arabes en php

Comment convertir des nombres majuscules en chiffres arabes en php

王林
王林original
2021-09-17 14:01:362625parcourir

Comment convertir des nombres majuscules en chiffres arabes en php : [function Chinese2number($chNum) { $numArr = array('zéro' => '0', 'un' => '1', 'deux' => '2', 'trois' => ...】.

Comment convertir des nombres majuscules en chiffres arabes en php

L'environnement d'exploitation de cet article : système Windows 10, PHP 7, ordinateur ThinkPad t480.

En raison des besoins professionnels, nous devrons peut-être convertir les nombres majuscules en chiffres arabes correspondants. Peut-être que de nombreux amis n'ont pas étudié ce problème, donc pour. un moment. Je ne sais pas comment l'écrire. Voyons comment convertir les nombres majuscules en chiffres arabes correspondants

Implémentation du code :

function chinese2number($chNum) {
    $numArr = array(
        '零' => '0',
        '一' => '1',
        '二' => '2',
        '三' => '3',
        '四' => '4',
        '五' => '5',
        '六' => '6',
        '七' => '7',
        '八' => '8',
        '九' => '9',
    );
    $numUnit = array(
        '十' =>'10',
        '百' =>'100',
        '千' =>'1000',
        '万' =>'10000',
        '亿' =>'100000000',
    );
    $number = 0;
    for ($i = 0;$i<=mb_strlen($chNum); $i++) {
        $str = mb_substr($chNum,$i,2);
        $first = mb_substr($str,0,1);
        $second = mb_substr($str,1,1);
        if (isset($numUnit[$first])){
            if (!$number) {
                $number = 1;
            }
            $number *= $numUnit[$first];
        } else if (isset($numArr[$first])) {
            $i++;
            if (isset($numArr[$second])) {
                if ($numArr[$first] == 0) {
                    $i--;
                }else{
                    $number += intval($numArr[$first].$numArr[$second]);
                }
            } else if(isset($numUnit[$second])) {
                $number += intval($numArr[$first]*$numUnit[$second]);
            } else{
                $number += intval($numArr[$first]);
            }
        }

    }
    return $number;
}

Apprentissage recommandé : Formation php

.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn