PHP → Перевод цифр в римские

Пример простой фукнции на PHP для перевода (конвертации) арабских чисел в римские. Другими словави перевода цифр вида 1, 10, 6 в цифри вида I, X, VI.

function number_to_roman($value)
{
    if($value<0) return "";
    if(!$value) return "0";
    $thousands=(int)($value/1000);
    $value-=$thousands*1000;
    $result=str_repeat("M",$thousands);
    $table=array(
        900=>"CM",500=>"D",400=>"CD",100=>"C",
        90=>"XC",50=>"L",40=>"XL",10=>"X",
        9=>"IX",5=>"V",4=>"IV",1=>"I");
    while($value) {
        foreach($table as $part=>$fragment) if($part<=$value) break;
            $amount=(int)($value/$part);
        $value-=$part*$amount;
        $result.=str_repeat($fragment,$amount);
    }
    return $result;
}

Пример использования:

echo number_to_roman(21);

Рузальтат работы: XXI