ホームページ >バックエンド開発 >PHPの問題 >PHPで大文字の数字をアラビア数字に変換する方法

PHPで大文字の数字をアラビア数字に変換する方法

王林
王林オリジナル
2021-09-17 14:01:362624ブラウズ

PHP で大文字の数字をアラビア数字に変換する方法: [function chinese2number($chNum) { $numArr = array('zero' => '0','one' => '1','two' => '2','three' => ...].

PHPで大文字の数字をアラビア数字に変換する方法

#この記事の動作環境: Windows10 システム、PHP 7、thinkpad t480 コンピューター

作業の都合上、大文字の数字を次のように変換する必要がある場合があります。対応するアラビア数字については、多くの友人はこの問題を勉強していない可能性があるため、しばらくの間、その書き方がわかりません。大文字の数字を対応するアラビア数字に変換する方法を見てみましょう。

コードの実装:

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

推奨学習:

phpトレーニング

以上がPHPで大文字の数字をアラビア数字に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。