Temel olarak bir Romen rakamını bir tamsayıya çevirecek bir işlev oluşturmaya çalışıyorum. Ben PHP oldukça yeni bu yüzden hala bu yüzden halaTam sayı fonksiyonuna sahip Romen Rakamı
:) öğreniyorum unutmayın lütfen düşünmek yolu alışıyorum olduğum$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
];
:
Ben bir dizi var i saattir bu olmuştur ve bunun ışığını görmek olurdu gibi
//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;
}
, herhangi bir tavsiye büyük takdir: ya ne ben şimdiye kadar var -
burada fonksiyonudur.
ben
echo romanToInteger('I');
ben sadece 0 geri verilmesinde ve benim türüne intval ile ilgisi olan bir şey düşünmek ile komut satırında çalışacak?
Noob olduğum için tekrar özür dilerim, yardım etmekten veya herhangi bir işaretçiden yardım edin!
Teşekkür! Neden şimdi orada sahip olduğunu düşündüğümden emin değilim ... tekrar teşekkürler şimdi anlıyorum :) –
@CalvinTaylor emin bu yardımcı – Ghost
@Ghost 'romanToInteger ('IV'); . Bu 4 olmalıdır. Roman metotlarında, “I”, ilk değer bir sonraki değerden daha düşükse, “V” den çıkarılır. "VI" ın aksine 6. –