Use the following function to change any integer into a string containing the integer value as a Roman Numeral.
function integerToRoman($integer) { // Convert the integer into an integer (just to make sure) $result = ''; // Create a lookup array that contains all of the Roman numerals. '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){ // Determine the number of matches // Add the same number of characters to the string // Set the integer to be the remainder of the integer and the value $integer = $integer % $value; } // The Roman numeral should be built, return it return $result; }
To run the code just give the function an integer. Here are some examples.
echo integerToRoman(1).'<br />'; echo integerToRoman(42).'<br />'; echo integerToRoman(123).'<br />'; echo integerToRoman(4576).'<br />'; echo integerToRoman(1979).'<br />';
This will print out the following.
I XLII CXXIII MMMMDLXXVI MCMLXXIX
You can also give the function a string.
echo integerToRoman('765').'<br />';
Will print out DCCLXV.
0 comments:
Post a Comment