PHP编程 用户在表单里任意填写一个整数,点击提交后显示这个整数的大写,比如:输入“168” ,输出“壹佰陆拾捌” ,输入“1324”,输出“壹仟叁佰贰拾肆”,使用自定义函数方式编写。

php编程:
用户在表单里任意填写一个整数(最多四位正整数),点击提交后显示这个整数的大写,比如:输入“168” ,输出“壹佰陆拾捌” ,输入“1324”,输出“壹仟叁佰贰拾肆”,使用自定义函数方式编写。

要怎么写自定义函数?转换数字到大写数字

谢谢!

写个大概吧,表单提交还有那个限制输入你自己写一下吧。


<?php

function to_chinese_number($n) {
    // 将输入的整数转换成字符串
    $str = (string)$n;
    // 定义中文汉字数字
    $chinese_numbers = array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
    // 定义中文单位
    $chinese_units = array('', '拾', '佰', '仟');
    // 定义最终返回的字符串
    $str_return = '';
    // 如果输入的数字小于4位,则转换为中文汉字
    if(strlen($str) <= 4) {
        // 遍历每一位
        for($i=0; $i<strlen($str); $i++) {
            // 如果当前位不为0,则拼接上对应的中文汉字和单位
            if($str[$i] != 0) {
                $str_return .= $chinese_numbers[$str[$i]].$chinese_units[strlen($str)-$i-1];
            }
            // 否则,如果当前位为0,且不是最后一位,则拼接上“零”
            elseif($i < (strlen($str)-1) && $str[$i+1] != 0) {
                $str_return .= $chinese_numbers[$str[$i]];
            }
        }
    }
    // 如果输入的数字大于4位,则只转换最后4位
    else {
        // 将最后4位转换为中文汉字
        $str_return = to_chinese_number(substr($str, -4));
        // 将前面的数字转换为中文汉字
        $str_return = to_chinese_number(substr($str, 0, -4)).'仟'.$str_return;
    }
    // 返回转换后的字符串
    return $str_return;
}
// 使用函数
echo to_chinese_number(1234)."<br>"; 
echo to_chinese_number(1324);