Перевод обычного числа в римское (Arabic/Integer -> Roman)

1 августа 2021
Функция переводит обычное (арабское) число в римское. Например, 2021 преобразуется в MMXXI

Код на PHP:
<?
/**
 * Возвращает римскую запись арабского числа
 * @param int $num - арабское число
 * @return string
 */
function intToRoman($num)
{
	$r = '';

	$ar_rom = 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,
	);
	$current_num = $num;
 	foreach($ar_rom as $sign => $value)
	{
		$a = $current_num % $value;
		$b = ($current_num - $a) / $value;
		$current_num = $a;
		for($i=0; $i<$b; $i++)
		{
			$r .= $sign;
		}
 		if($current_num==0) break;
	}

   	return $r;
}
?>