7
基本上我試圖創建一個函數,將羅馬數字變成一個整數。羅馬數字整數函數
我有一個數組:
$roman_numerals=[
'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
];
我是相當新的PHP所以我還是習慣的思考,所以請記住我還在學習:)
方式這裏是我的功能 - 或者我到目前爲止什麼:
//Array
function romanToInteger($key)
{
$roman_numerals=[
'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
];
$roman = intval($key);
$result = 0;
foreach ($roman_numerals as $key => $value) {
while (strpos($roman, $key) === 0) {
$result += $value;
$roman = substr($roman, strlen($key));
}
}
var_dump($roman); //test
echo $result;
}
我一直在這幾個小時,會就像看到它的光,任何建議將不勝感激。
當我在命令行中使用
echo romanToInteger('I');
我只想找到返回0,我認爲它是與我的INTVAL運行呢?
對不起,作爲一個noob,幫助讚賞或任何指針! :)
謝謝!不太清楚爲什麼我想現在在那裏...再次感謝我現在瞭解它:) –
@CalvinTaylor當然很高興這有助於幫助 – Ghost
@Ghost'romanToInteger('IV');'在你的更新的鍵盤上輸出10 。這應該是4.在羅馬方法中,如果第一個值低於下一個,則將'I'從「V」中減去。與「VI」相反,就是6. –