<?php
function intToRoman(int $num): string {
// Define values and their corresponding Roman numerals
$values = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
$symbols = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
$roman = "";
// Loop through values and subtract while possible
for ($i = 0; $i < count($values); $i++) {
while ($num >= $values[$i]) {
$num -= $values[$i];
$roman .= $symbols[$i]; // append symbol
}
}
return $roman;
}
echo intToRoman(1994) . PHP_EOL;
echo intToRoman(196) . PHP_EOL;
echo intToRoman(9) . PHP_EOL;
/*
run:
MCMXCIV
CXCVI
IX
*/