30 lines
666 B
PHP
30 lines
666 B
PHP
<?php
|
|
|
|
namespace App\Helpers;
|
|
|
|
class General
|
|
{
|
|
/**
|
|
* Convert number to roman
|
|
*
|
|
* @param int $integer name
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function integerToRoman($integer)
|
|
{
|
|
$integer = intval($integer);
|
|
$result = '';
|
|
|
|
// Create a lookup array that contains all of the Roman numerals.
|
|
$lookup = ['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;
|
|
}
|
|
} |