我想創建一個所謂的希臘數字轉換工具。這裏的輸入將是字母,這些字母將被轉換爲數字。對於每一個字母,都會有一個對應的數字並考慮數字。現在,我的想法是創建一個數組,其中將放置所有字母及其對應的數值。因此,當用戶輸入字母組合(最多隻能輸入3位數字)時,convert()函數將查找輸入的字母的相應值,獲取值並將所有內容相加。不幸的是,當我沿着編碼走時,我提出了這個錯誤(標題中提到的錯誤),我似乎無法弄清楚如何解決它。這聽起來很愚蠢,但請理解,因爲我仍在學習PHP。PHP未定義變量錯誤新手在這裏,似乎無法弄清楚如何修復錯誤
這是我能夠想出的代碼。
<?php error_reporting(0);
class GreekNum
{
public function setText($text)
{
$this->text=$text;
}
public function getText()
{
return $this->text;
}
public function Convert($text)
{
$TextLength = strlen($text);
$text = strtoupper($text);
$text = str_split($text);
$collection = array(
"A" => 1,
"B" => 2,
"G" => 3,
"D" => 4,
"E" => 5,
"#" => 6,
"Z" => 7,
"Y" => 8,
"H" => 9,
"I" => 10,
"K" => 20,
"L" => 30,
"M" => 40,
"N" => 50,
"X" => 60,
"O" => 70,
"P" => 80,
"Q" => 90,
"R" => 100,
"S" => 200,
"T" => 300,
"U" => 400,
"F" => 500,
"C" => 600,
"$" => 700,
"W" => 800,
"3" => 900,
);
if(isset($text))
{
$total = 0;
for($i=0; $i<$TextLength; $i++)
{
if(array_key_exists($text[$i], $collection))
{
$total += $collection[$text[$i]];
}
if(end($text)!='.')
{
echo "Please make sure your line ends with a period. <br><br>";
return false;
}
}
return $total;
}
}
}
$GreekNum = new GreekNum();
$text = $_POST['text'];
$GreekNum->setText($text);
echo "<br>";
echo "<b>Entered Values: </b><br>". $GreekNum->getText();
echo "<br>";
echo "<br>";
echo "<b>Decimal Number Equivalence: </b><br/>". $GreekNum->Convert($text);
?>
錯誤是關於$總,我似乎無法弄清楚如何解決這個問題。任何幫助將非常感激。非常感謝!
這已經解決了,但爲了可能需要這個的人,我再次編輯這個代碼,目前適用於我。
與你的問題無關,只是一些想法:1.擺脫'text'字段,因爲它從來沒有使用(也刪除getter/setter); 2.使'轉換'一個靜態函數,你不會通過實例化一個'GreekNum'對象獲得任何東西。 – 2012-07-23 17:46:55
爲了將來的參考,如果您在運行代碼時出現錯誤,請在此處提供確切的錯誤文本。 – ernie 2012-07-23 17:47:18