PHP函数将整数转换为罗马数字
使用以下函数将任何整数更改为包含整数值的字符串,该字符串为罗马数字。
function integerToRoman($integer) { //将整数转换为整数(确保确定) $integer = intval($integer); $result = ''; //创建一个包含所有罗马数字的查找数组。 $lookup = array('M' => 1000, 'CM' => 900, 'D' => 500, 'CD' => 400, 'C' => 100, 'XC' => 90, 'L' => 50, 'XL' => 40, 'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1); foreach($lookup as $roman => $value){ //确定比赛次数 $matches = intval($integer/$value); //在字符串中添加相同数量的字符 $result .= str_repeat($roman,$matches); //将整数设置为整数和值的余数 $integer = $integer % $value; } //应该建立罗马数字,然后返回 return $result; }
要运行代码,只需给该函数一个整数即可。这里有些例子。
echo integerToRoman(1).'
'; echo integerToRoman(42).'
'; echo integerToRoman(123).'
'; echo integerToRoman(4576).'
'; echo integerToRoman(1979).'
';
这将打印出以下内容。
I XLII CXXIII MMMMDLXXVI MCMLXXIX
您也可以给函数一个字符串。
echointegerToRoman('765').'
';
将打印出DCCLXV。