PHP数字转人民币大写
```php
public static function convert_number_to_rmb($number)
{
$rmb_num = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
$big_unit = ['', '万', '亿', '兆'];
$middle_unit = ['', '拾', '佰', '仟'];
$small_unit = ['角', '分', '毫', '厘'];
if (!preg_match('/[\d^\.]+/', $number)) return '输入格式有误';
if ($number >= 1e15) return '超出最大处理数字';
if ($number == 0) return $rmb_num[0] . '圆整';
if (is_int($number)) {
$int = $number;
$float = '';
} else {
$nums = explode('.', number_format($number, '4', '.', ''));
$int = $nums[0];
$float = $nums[1];
}
$count = 0;
$rmb = '';
if ($int > 0) {
$int_len = strlen($int);
for ($i = 0; $i < $int_len; $i++) {
$p = $int_len - $i - 1;
$h = $p / 4;
$f = $p % 4;
if (($num = substr($int, $i, 1)) == '0') {
$count++;
} else {
$count > 0 && ($rmb .= $rmb_num[0]);
$count = 0;
$rmb .= $rmb_num[$num] . $middle_unit[$f];
}
0 == $f && $count < 4 && ($rmb .= $big_unit[$h]);
}
$rmb .= '圆';
}
if ($float != '') {
$float_len = strlen($float);
for ($i = 0; $i < $float_len; $i++) {
$num = substr($float, $i, 1);
if ($num != '0') {
$rmb .= $rmb_num[$num] . $small_unit[$i];
}
}
}
if ($rmb == '') {
$rmb .= $rmb_num[0] . '圆整';
}
$rmb == '' ? $rmb .= $rmb_num[0] . '圆整' : $float == '' && ($rmb .= '整');
return $rmb;
}