Heim >php教程 >php手册 >PHP数字转汉字的函数算法

PHP数字转汉字的函数算法

WBOY
WBOYOriginal
2016-06-06 19:52:541247Durchsuche

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 PHP数字转汉字的函数 /*********************数字转汉字***********************/ function del0($num) //去掉数字段前面的0 { return "".intval($num); } function n2c($x) //单个数字变汉字

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  PHP数字转汉字的函数

  /*********************数字转汉字***********************/

  function del0($num) //去掉数字段前面的0

  {

  return "".intval($num);

  }

  function n2c($x) //单个数字变汉字

  {

  $arr_n = array("零","一","二","三","四","五","六","七","八","九","十");

  return $arr_n[$x];

  }

  function num_r($abcd) //读取数值(4位)

  {

  $arr= array();

  $str = ""; //读取后的汉字数值

  $flag = 0; //该位是否为零

  $flag_end = 1; //是否以"零"结尾

  $size_r = strlen($abcd);

  for($i=0; $i

  {

  $arr[$i] = $abcd{$i};

  }

  $arrlen = count($arr);

  for($j=0; $j

  {

  $ch = n2c($arr[$arrlen-1-$j]); //从后向前转汉字

  //echo $ch;

  //echo "
";

  if($ch == "零" && $flag == 0){ //如果是第一个零

  $flag = 1; //该位为零

  $str = $ch.$str; //加入汉字数值字符串

  continue;

  }elseif($ch == "零"){ //如果不是第一个零了

  continue;

  }

  $flag = 0; //该位不是零

  switch($j)  {

  case 0: $str = $ch;    $flag_end = 0; break; //第一位(末尾),没有以"零"结尾

  case 1: $str = $ch."十".$str; break; //第二位

  case 2: $str = $ch."百".$str; break; //第三位

  case 3: $str = $ch."千".$str; break; //第四位

  }

  }

  if($flag_end == 1) //如果以"零"结尾

  {

  mb_internal_encoding("UTF-8");

  $str = mb_substr($str, 0, mb_strlen($str)-1); //把"零"去掉

  }

  if($arrlen == 2 && $arr[0] == 1){

  $str = substr($str,2);

  }

  return $str;

  }

[1] [2] 

PHP数字转汉字的函数算法

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP代码优化之细节优化(转)Nächster Artikel:Php的Socket初步