Maison > développement back-end > Problème PHP > Comment convertir des nombres en caractères chinois en PHP

Comment convertir des nombres en caractères chinois en PHP

藏色散人
Libérer: 2023-03-03 13:18:01
original
3247 Les gens l'ont consulté

Comment convertir des nombres PHP en caractères chinois : créez d'abord un exemple de fichier de code PHP ; puis définissez une méthode "number2Chinese" ; puis implémentez la logique de conversion via une instruction de boucle de commutation dans le corps de la méthode ; déposer.

Comment convertir des nombres en caractères chinois en PHP

Recommandé : "Tutoriel PHP"

PHP - Nombre en caractères chinois

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

//数字转汉字

function number2Chinese($num, $m = 1)

{

    switch($m) {

        case 0:

            $CNum = array(

                    array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'),

                    array('','拾','佰','仟'),

                    array('','萬','億','萬億')

            );

            break;

        default:

            $CNum = array(

                    array('零','一','二','三','四','五','六','七','八','九'),

                    array('','十','百','千'),

                    array('','万','亿','万亿')

            );

            break;

    }

    // $cNum = array('零','一','二','三','四','五','六','七','八','九');

  

    if (is_integer($num)) {

        $int = (string)$num;

    } else if (is_numeric($num)) {

        $num = explode('.', (string)floatval($num));

        $int = $num[0];

        $fl  = isset($num[1]) ? $num[1] : FALSE;

    }

    // 长度

    $len = strlen($int);

    // 中文

    $chinese = array();

  

    // 反转的数字

    $str = strrev($int);

    for($i = 0; $i<$len; $i+=4 ) {

        $s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]);

        $j = &#39;&#39;;

        // 千位

        if ($s[3] !== &#39;&#39;) {

            $s[3] = (int) $s[3];

            if ($s[3] !== 0) {

                $j .= $CNum[0][$s[3]].$CNum[1][3];

            } else {

                if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) {

                    $j .= $CNum[0][0];

                }

            }

        }

        // 百位

        if ($s[2] !== &#39;&#39;) {

            $s[2] = (int) $s[2];

            if ($s[2] !== 0) {

                $j .= $CNum[0][$s[2]].$CNum[1][2];

            } else {

                if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) {

                    $j .= $CNum[0][0];

                }

            }

        }

        // 十位

        if ($s[1] !== &#39;&#39;) {

            $s[1] = (int) $s[1];

            if ($s[1] !== 0) {

                $j .= $CNum[0][$s[1]].$CNum[1][1];

            } else {

                if ($s[0]!=0 && $s[2] != 0) {

                    $j .= $CNum[0][$s[1]];

                }

            }

        }

        // 个位

        if ($s[0] !== &#39;&#39;) {

            $s[0] = (int) $s[0];

            if ($s[0] !== 0) {

                $j .= $CNum[0][$s[0]].$CNum[1][0];

            } else {

                // $j .= $CNum[0][0];

            }

        }

        $j.=$CNum[2][$i/4];

        array_unshift($chinese, $j);

    }

    $chs = implode(&#39;&#39;, $chinese);

    if ($fl) {

        $chs .= &#39;点&#39;;

        for($i=0,$j=strlen($fl); $i<$j; $i++) {

            $t = (int)$fl[$i];

            $chs.= $str[0][$t];

        }

    }

    return $chs;

}

Copier après la connexion

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:
php
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
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal