로마 숫자는 고대 로마에서 유래 한 숫자 표현 방법이며, 숫자 값을 나타내는 특정 문자 조합을 사용합니다. 일반적인 로마 숫자에는 I (1), V (5), X (10), L (50), C (100), D (500) 및 M (1000)이 포함됩니다. 예를 들어 XIX는 "10 + 9"를 의미하는 다른 문자를 결합하여 다양한 숫자 값을 구성합니다.
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에서 배열 매핑 및 문자열 작업을 사용하여 정수를 해당 로마 숫자로 변환하는 방법을 명확하게 이해할 수 있습니다. 이 방법은 단순하고 효율적 일뿐 만 아니라 확장하기 쉽고 일상적인 개발에 사용하기에 적합하며 논리적 사고 및 루프 제어를 실천하는 실용적인 예로도 사용할 수 있습니다.