所以我有一個變量命名bestmatchrule返回1-25現在林間試圖分配一個號碼的名稱使用下面的if語句單號:如何壓縮if語句代碼?
$a=$bestmatchrule;
$b='';
if ($a == "1" || "2") {
$b="Chesil House";
} elseif ($a == "3" || "4") {
$b="Corfe House";
} elseif ($a == "5" || "6") {
$b="Cranborne House";
} elseif ($a == "7" || "8") {
$b="Dorchester House";
} elseif ($a == "9" || "10") {
$b="Lyme Regis House";
} elseif ($a == "11" || "12") {
$b="Okeford House";
} elseif ($a == "13" || "14") {
$b="Purbeck House";
} elseif ($a == "15" || "16") {
$b="Student Village";
} elseif ($a == "17" || "18" || "19") {
$b="Unilet";
} elseif ($a == "20") {
$b="Conel Court";
} elseif ($a == "21" || "22") {
$b="St John's Road";
} elseif ($a == "23" || "24" || "25") {
$b="Private Let";
} else {
"Please Try Again";
}
問題是,它不工作。它只返回最上面的一個。這是返回值還是if語句的問題?
此外,如果有縮短它的方法,使其看起來更好?我更關注功能,但必須有比這更好的方法嗎?
在此先感謝! (p。對不起noob問題!)
在猜測你可能需要更接近的東西:'if($ a ==「1」|| $ a ==「2」)...'至於更好的方法,顯而易見的將是一個數組。 –
將此數組轉換爲數組可能會更加容易 –
array'$ x = array(1 =>'Chesil House',2 =>'Chesil House',3 =>'Corfe House')...' –