把一串数字转成大写,只是要大写,不要圆角分之类的

设计手 2019-01-15 10:31:20


比如传递过来的:5012369

转换成:伍零壹贰叁陆玖

本来的思路是:array('1'=>'壹','2'=>'贰');

无奈不知道怎么把这一串数字给分解出来。。。卡克了。。

请帮帮忙,谢谢!!
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2019-01-15
  • 打赏
  • 举报
回复
$digit = [ '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' ];
$num = 5012369;
$a = str_split($num);
foreach($a as $v) $b[] = $digit[$v];
echo join('', $b); //伍零壹贰叁陆玖
//或
echo preg_replace_callback('/./', function($m) use ($digit) { return $digit[$m[0]]; }, $num); //伍零壹贰叁陆玖
设计手 2019-01-15
  • 打赏
  • 举报
回复


发了贴后我就想起来str_split这个玩意了

$_NumberArray = str_split(str_replace(".","",$_Number));
$_ChineseArray = array("0"=>"零", "1"=>"壹", "2"=>"贰", "3"=>"叁", "4"=>"肆", "5"=>"伍", "6"=>"陆", "7"=>"柒", "8"=>"捌", "9"=>"玖");

$_Value = "";
foreach($_NumberArray as $_Str_a=>$_Vae_a)
{
foreach($_ChineseArray as $_Str_b=>$_Vae_b)
{
if($_Vae_a == $_Str_b)
{
$_Value = $_Value.$_Vae_b." ";
}
}
}
return $_Value;

贴上现在用的代码

谢谢楼上俩位大师!
徐卡丘 2019-01-15
  • 打赏
  • 举报
回复
str_split() 函数把字符串分割到数组中

print_r(str_split("7927609"));
/*
Array
(
[0] => 7
[1] => 9
[2] => 2
[3] => 7
[4] => 6
[5] => 0
[6] => 9
)
*/

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧