Проверка нескольких условий. Инструкция Switch. Оператор ?
Проверка нескольких условий.
Как проверить одно условие, мы уже знаем из прошлого занятия. Если же необходимо проверить более, чем одно условие, очень удобной окажется запись такого вида:
if (выражение 1)
{ операторы если выражение 1 истина }
elseif (выражение 1)
{ операторы если выражение 1 ложно а выражение 2 истина }
else
{ операторы если все выражения ложны} причем блоков elseif может быть несколько
Пример такой записи.<?php
if ($a==$b)
{print "$a равно $b";}
elseif ($a>$b)
{print "$a больше $b";}
elseif ($a<$b)
{print "$a меньше $b";};
?>
Обратите внимание на точку с запятой - весь блок считается одним оператором, по этому она заканчивает только весь блок. В фигурных скобках они (точки с запятыми) сами собой обязательны.
Теперь попробуйте выполнить самостоятельное задание из прошлого урока, но уже используя новую конструкцию записи условий:
В html документе создайте форму с двумя текстовыми полями, в которые пользователь вводит два числа и кнопкой типа Submit. Далее после нажатия копки Submit вызывается php скрипт который выводит только большее из двух чисел или сообщения что два числа равны. Использовать одну конструкцию if.
Требуемый вариантов решения данной задачи можно посмотреть
ЗДЕСЬ. Но лучше, конечно, сначала сделать самостоятельно.
Инструкция switch
Инструкция switch позволяет разветвить действие в зависимости от значения выражения. Общий ее вид представлен далее:
switch (выражение)
{
case значение_1:
действия, если выражение равно значению_1
break;
case значение_2:
действия, если выражение равно значению_2
break;
default:
выполняется, если выражение не приняло не одно из значений
}
Пример применения инструкции switch приведен ниже. Обратите внимание, что в форме использовано поле типа select.
Итак -
это форма, вызывающая скрипт:
Какая планета четвертая по счету от земли?
<form action="script2_1.php" method="POST">
<select name=n1 >
<option value="Земля"> Земля
<option value="Марс"> Марс
<option value="Венера"> Венера
</select>
<input type=submit value="Готово">
</form>
А
это скрипт, обрабатывающий форму.
<?php
switch ($n1)
{
case "Земля":
print "не верно";
break;
case "Марс":
print "Верно !";
break;
case "Венера":
print "не верно";
break;
}
?>
Результат срабатывания данной формы и вызываемого ею скрипта на сервере h10.ru можно посмотреть
ЗДЕСЬТеперь попробуйте выполнить самостоятельное задание по данной теме:В html документе создайте форму с текстовым полем, в которое пользователь вводит свой логин и кнопкой типа Submit. Далее после нажатия копки Submit вызывается php скрипт который проверяет, зарегистрирован ли этого пользователь. При этом таких пользователей (разных логинов должно быть 4). Если введен один из существующих логинов, должно выводится приветствие для этого человека. Например: введен логин Inan_php , должно вывестись приветствие "Здравствуйте Иванов Иван Иванович". Если введен неизвестный логин должно вестись сообщение - "Вы не зарегистрированный пользователь!" Как обычно, если есть необходимость, вариант решения данного задания можно посмотреть
ЗДЕСЬ.
Если хотите самостоятельно сделать что-то более интересное, вот вам более сложный уровень задания - Помимо логина пользователь должен вводить и пароль. Для зарегистрированного пользователя должен проверятся еще и пароль. Это реализовать включением блока if в блоки case.
Оператор ?
Оператор ? возвращает одно из двух значений, разделенный двоеточием. Первое - если выражение истинно, второе если ложно. То есть можно сказать, что ? (знак вопроса) - короткая альтернатива условному оператору if.
Пример:Укажите Ваш пол
<form action="script2_2.php" method="POST">
<select name=n1 >
<option value="М">Мужской
<option value="Ж">Женский
</select>
<input type=submit value="Готово">
</form>
А это простенький
скрипт, обрабатывающий форму.
<?php
($n1=="М")? print "Привет мужик": print "Здравствуйте дама";
?>
Результат срабатывания данной формы и вызываемого ею скрипта на сервере h10.ru можно посмотреть
ЗДЕСЬНу, и на последок самостоятельное задание на оператор ?В html документе создайте форму с текстовым полем, в которое пользователь вводит число и кнопкой типа Submit. Далее после нажатия копки Submit вызывается php скрипт который проверяет, четное это число или нет и выводит результат. Как всегда, вариант решения данного задания можно посмотреть
ЗДЕСЬ.
Ну и если хотите самостоятельно сделать что-то более интересное, вот вам более сложный уровень задания- Предварительно нужно проверить, что пользователь ввел целое число.