很多在问如何将阿拉伯数字转换成中国传统的形式的PHP代码!其实很简单,花了点时间写了以下代码!供大家参考!有不足的地方请自行改进! 将以下代码保存问PHP文件直接可以进行调试!
<!--提交表单-->
<form method="post">
<input name="tt" type="text" value="<?php echo $_POST['tt']?>">
<input name="submit" type = "submit" value="提交" >
</form>
<?php
/*
echo "转化前: $tt";
function chett( $tbody)
{ $arr_str = array("1"=>"一","2"=>"二","3"=>"三","4"=>"四","5"=>"五","6"=>"六","7"=>"七","8"=>"八","9"=>"九","0"=>"十");
while (list( $a, $b)=each( $arr_str))
{
global $tbo;
// $tbody .= $a.":". $b."<br>";
$tbody = str_replace( $b, $a, $tbody);
$tbo .= $a.":". $b."<br>";
}
return $tbody;
}
echo "<br>转化后:".chett( $tt);
echo "<br><br>";
//echo strlen("一二三四五六七八九十");
echo $tbo;
$uj="wgfdhklkllkjlk'lklkjl";
echo AddSlashes( $uj);
*/
// $tt = "35";
/*
十=1
百=2
千=3
万=5
十万=6
百万=7
千万=8
亿=9
十亿=10
百亿=11
千亿=12
兆=14
if( $str_s==1)
{
echo $ar_str[ $str[0]];
}
elseif( $str_s==2)
{
if( $str[1]==0)
{echo $ar_str[ $str[0]]. $ar_hb[1];}
else
{echo $ar_str[ $str[0]]. $ar_hb[1]. $ar_str[ $str[1]];}
}
elseif( $str_s==3)
{
if( $str[3]==0)
{echo $ar_str[ $str[0]]. $ar_hb[2]. $ar_str[ $str[1]];}
else
{echo $ar_str[ $str[0]]. $ar_hb[1]. $ar_str[ $str[1]];}
}
else
{}
*/
$tt = $_POST['tt']; //接受表单数据
$ar_str = array("1"=>"一","2"=>"二","3"=>"三","4"=>"四","5"=>"五","6"=>"六","7"=>"七","8"=>"八","9"=>"九","0"=>"零");
$ar_hb = array("1"=>"十","2"=>"百","3"=>"千","4"=>"万","5"=>"十","6"=>"百","7"=>"千","8"=>"亿","9"=>"十","10"=>"百","11"=>"千","12"=>"兆","13"=>"十","14"=>"百","15"=>"千");
function se_array( $y) //将接回的表单阿拉伯数字加“,”转换成固定格式的字符串;
{
for ( $i=1; $i<=strlen( $y); $i++)
{
if( $i==1)
{ $str=substr( $y, $i-1,1);}
else
{ $str.=",".substr( $y, $i-1,1);}
}
return $str;
}
function chuckhb( $m, $n)//获取进位数
{ $n--; $m++;
global $ar_hb;
if( $n == 0)
{ $spk = "" ;return $spk;}
elseif( $m<= $n)
{ $spk = $ar_hb[ $n- $m+1];
return $spk;
}
else{return;}
}
$str = explode(",",se_array( $tt)); //提交回来的表单数据转换成数组;
$str_s = sizeof( $str);//获知数组大小;
for( $i=0; $i< $str_s; $i++)
{
if( $str[ $i]==0 and $str_s>1)
{
$echo_str .= $ar_str[ $str[ $i]];
}
else
{
$echo_str .= $ar_str[ $str[ $i]].chuckhb( $i, $str_s);
}
}
while(strpos( $echo_str,"零零"))//去掉连续的“零零”,
{
$echo_str = str_replace("零零","零", $echo_str);
}
echo $echo_str;
?>