Поэтому у меня есть переменная с именем bestmatchrule, который возвращает единственное число между 1-25 и теперь Im пытается присвоить этому номеру имя, используя следующее, если заявление:Как сжать код инструкции 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.s. извините за вопрос noob!)
Угадайте, что вам, вероятно, нужно что-то ближе: 'if ($ a ==" 1 "|| $ a ==" 2 ") ...' Что касается лучших способов, то очевидным будет массив. –
преобразование этого в массив, вероятно, будет esier –
массив '$ x = массив (1 => 'Chesil House', 2 => 'Chesil House', 3 => 'Corfe House') ...' –