當前位置: 首頁> 最新文章列表> PHP實現整數轉羅馬數字的實用方法及示例解析

PHP實現整數轉羅馬數字的實用方法及示例解析

gitbox 2025-08-04

什麼是羅馬數字

羅馬數字是一種起源於古羅馬的數字表示方式,採用特定字母組合來表示數值。常見的羅馬數字包括I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和M(1000)。它通過組合不同字符的方式構建出各種數值,例如,XIX 表示19,意為“十加九”。

PHP中實現整數轉羅馬數字的方法

在PHP中,可以通過一個簡單的函數將整數轉換為羅馬數字。該方法使用數組定義數字與羅馬字符的映射關係,並藉助循環和字符串操作函數完成轉換邏輯。以下是該函數的完整代碼:

 
function integerToRoman($integer)
{
    $integer = intval($integer);
    $result = '';
    $romanNumerals = 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
    );
    foreach ($romanNumerals as $roman => $value) {
        $matches = intval($integer / $value);
        $result .= str_repeat($roman, $matches);
        $integer = $integer % $value;
    }
    return $result;
}

該函數首先將輸入的整數轉換為整型值,然後初始化一個空字符串作為結果容器。通過定義一個數組,將阿拉伯數字與羅馬數字對應關係映射起來,並使用foreach循環依次匹配當前數值。每次匹配成功,就通過str_repeat()函數重複添加對應的羅馬字符,直到轉換完成。

實際使用示例

下面是使用上述函數的幾個調用示例,演示瞭如何將整數轉換為羅馬數字並輸出結果:

 
echo integerToRoman(1) . "\n";     // I
echo integerToRoman(4) . "\n";     // IV
echo integerToRoman(9) . "\n";     // IX
echo integerToRoman(50) . "\n";    // L
echo integerToRoman(100) . "\n";   // C
echo integerToRoman(500) . "\n";   // D
echo integerToRoman(1000) . "\n";  // M

上述代碼運行後,將輸出如下內容:

 
I
IV
IX
L
C
D
M

總結

通過本文的講解,你可以清楚地了解到如何在PHP中使用數組映射和字符串操作,將整數轉換為對應的羅馬數字。這種方法不僅簡潔高效,還便於擴展,適合在日常開發中使用,也可以作為練習邏輯思維和循環控制的實用實例。