PHP function to convert numbers and Chinese characters (within 100)

function numDatabase(){
    $numarr =array(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,94,95,96,97,98,99,100);
    return $numarr;
}
function hzDatabase(){
    $hanziarr = array("One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty", "twenty-one" ,"twenty-two","twenty-three","twenty-four","twenty-five","twenty-six","twenty-seven","twenty-eight","twenty-nine"," Thirty","Thirty-one","Thirty-two","Thirty-three","Thirty-four","Thirty-five","Thirty-six","Thirty-seven","Thirty-eight" ","Thirty-nine","Forty","Forty-one","Forty-two","Forty-three","Forty-four","Forty-five","Forty-six"," forty-seven","forty-eight","forty-nine","fifty","fifty-one","fifty-two","fifty-three","fifty-four","Fifty-five","fifty-six","fifty-seven","fifty-eight","fifty-nine","sixty","sixty-one","sixty-two","sixty-three" ","sixty-four","sixty-five","sixty-six","sixty-seven","sixty-eight","sixty-nine","seventy","seventy-one"," seventy-two","seventy-three","seventy-four","seventy-five","seventy-six","seventy-seven","seventy-eight","seventy-nine","eighty" ","Eighty-one","Eighty-two","Eighty-three","Eighty-four","Eighty-five","Eighty-six","Eighty-seven","Eighty-eight", "Eighty-nine", "Ninety", "Ninety-one", "Ninety-two", "Ninety-three", "Ninety-four", "Ninety-five", "Ninety-six", "Ninety" Seven","Ninety-eight","Ninety-nine","One hundred");Sixty-three","sixty-four","sixty-five","sixty-six","sixty-seven","sixty-eight","sixty-nine","seventy","seventy-one" ","seventy-two","seventy-three","seventy-four","seventy-five","seventy-six","seventy-seven","seventy-eight","seventy-nine", "eighty","eighty-one","eighty-two","eighty-three","eighty-four","eighty-five","eighty-six","eighty-seven","eighty Eight", "Eighty-nine", "Ninety", "Ninety-one", "Ninety-two", "Ninety-three", "Ninety-four", "Ninety-five", "Ninety-six", "Ninety-seven", "Ninety-eight", "Ninety-nine", "One-hundred");Sixty-three","sixty-four","sixty-five","sixty-six","sixty-seven","sixty-eight","sixty-nine","seventy","seventy-one" ","seventy-two","seventy-three","seventy-four","seventy-five","seventy-six","seventy-seven","seventy-eight","seventy-nine", "eighty","eighty-one","eighty-two","eighty-three","eighty-four","eighty-five","eighty-six","eighty-seven","eighty Eight", "Eighty-nine", "Ninety", "Ninety-one", "Ninety-two", "Ninety-three", "Ninety-four", "Ninety-five", "Ninety-six", "Ninety-seven", "Ninety-eight", "Ninety-nine", "One-hundred");"eighty","eighty-one","eighty-two","eighty-three","eighty-four","eighty-five","eighty-six","eighty-seven","eighty Eight", "Eighty-nine", "Ninety", "Ninety-one", "Ninety-two", "Ninety-three", "Ninety-four", "Ninety-five", "Ninety-six", "Ninety-seven", "Ninety-eight", "Ninety-nine", "One-hundred");"eighty","eighty-one","eighty-two","eighty-three","eighty-four","eighty-five","eighty-six","eighty-seven","eighty Eight", "Eighty-nine", "Ninety", "Ninety-one", "Ninety-two", "Ninety-three", "Ninety-four", "Ninety-five", "Ninety-six", "Ninety-seven", "Ninety-eight", "Ninety-nine", "One-hundred");
    return $hanziarr;
}

function num2hanzi($str){
    $numarr = numDatabase();
    $ hanziarr = hzDatabase ();
    preg_match('/[0-9]+/',$str,$t);
    $num = intval($t[0]);
    $rstr = '';
    if(in_array($num,$numarr)){
        foreach($numarr as $k=>$v){
            if($v==$num){
                $ kk = $ k;
            }
        }
        $rstr = str_replace($num,$hanziarr[$kk],$str);
    }
    return $rstr;
}
//Chinese characters to numbers
function hanzi2num($str){
    $numarr = numDatabase();
    $ hanziarr = hzDatabase ();
    foreach($hanziarr as $k=>$v){
        if(strpos($str,$v)!==false){
            $ rstr = str_replace ($ v, $ numarr [$ k], $ str);
        }
    }
    return $rstr;
}
function zhuan($str){
    $result = '';
    $n = array('0','1','2','3','4','5','6','7','8','9');
    $zi = array('one','two','three','four','five','six','seven','eight','nine','ten');
    foreach($zi as $k=>$v){
        if(strpos($str,$n[$k]) !== false){
            $result = num2hanzi($str);
        }
        if(strpos($str,$v) !== false){
            $result = hanzi2num($str);
        }
    }
    return $result;
}
// Application examples
$str = '56';
$r = zhuan($str);
echo $ r; // 56

$str = "eighty-two";
$r = zhuan($str);
echo $r; 	// 82

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325851403&siteId=291194637