有薦於看了兩年多前的寫法,雖然關鍵句上有加註解,但是還是很難理解!
為了不讓單位重覆,還要分割跑迴圈,實在有點麻煩,所以就改寫個比較容易理解的作法,一個迴圈搞定!
function num2str($number){ #中文數字陣列 $numb_arr=array('零','壹','貳','參','肆','伍','陸','柒','捌','玖'); #單位陣列 $unit_arr=array('元','拾','佰','仟','萬','拾','佰','仟','億','拾','佰','仟','兆','拾','佰','仟','京'); #過濾逗號 $newString = str_replace(',', '', $number); #字串長度 $length = strlen($newString); $i=0; do{ #依序取出一位數 $n = substr($newString, -$length + $i, 1); if(0==$n){#直接為0且不加單位 $total .= 0; }else{ #中文數字 + 單位 $total .= $numb_arr[$n] . $unit_arr[($length - 1) - $i]; } $i++; }while($i < $length); #取代重複的0 return preg_replace('/0+/', '零', $total); }
全站熱搜
留言列表