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

王林
Libérer: 2023-03-12 16:42:01
original
2596 Les gens l'ont consulté

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;
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal