Приднестровская поддержка XOOPS
Проверка выбранного элемента из списка
Оператор ветвления мы уже использовали ранее в наших примерах, в частности, чтобы узнать, существует ли переменная. Так как функция isset() при существовании переменной возвращает значение true, то это условие можно проверить, используя оператор ветвления if…else:
if (isset($_GET['name'])) {
echo 'Hello, ' . $_GET['name'];
}
else {
echo 'Введите ваше имя<br>';
echo '<form action="' . $_SERVER['SCRIPT_NAME'] . '">';
echo '<input type="text" name="name">';
echo '<input type="submit" value="OK">';
echo '</form>';
}
Обратите внимание, что логическое выражение не содержит операторов сравнения:
if (isset($_GET['name'])) {
Такая запись эквивалентна следующей:
if (isset($_GET['name'])==true) {
Проверка на равенство выражения значению true выполняется по умолчанию.
Оператор ветвления if…else имеет следующий формат:
if (<Логическое выражение>) {
<Блок, выполняемый если условие истинно>
}
[elseif (<Логическое выражение>) {
<Блок, выполняемый, если условие истинно>
}]
[else {
<Блок, выполняемый, если все условия ложны>
}]
Для примера напишем программу, которая проверяет, является ли введенное пользователем число четным или нет (листинг 32). После проверки выводится соответствующее сообщение.
Листинг 32. Проверка числа на четность
<b>Проверка числа на четность</b><br><br>
Введите число<br>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="var">
<input type="submit" value="OK">
</form><br>
<?php
if (isset($_GET['var'])) {
$var = $_GET['var'];
if (preg_match('/^[0-9]+$/s', $var)) {
// Преобразуем тип string (строка) в integer (число)
$var = intval($var);
if ($var%2 == 0) {
echo $var . ' - Четное число';
}
else {
echo $var . ' - Нечетное число';
}
}
else echo 'Необходимо ввести число';
}
?>
Как видно из примера, один условный оператор можно вложить в другой. Кроме того, если блок состоит из одного выражения, фигурные скобки можно не указывать:
if ($var%2 == 0) echo $var . ' - Четное число';
else echo $var . ' - Нечетное число';
Более того, блока else может не быть совсем:
if ($var%2 == 0) echo $var . ' - Четное число';
Кроме того, оператор if…else позволяет проверить сразу несколько условий.
Рассмотрим это на примере (листинг 33).
Листинг 33. Проверка введенного значения
<b>Какой операционной системой вы пользуетесь?</b><br><br>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<select name="os">
<option value="0" selected>Не выбрано</option>
<option value="1">Windows 98</option>
<option value="2">Windows ME</option>
<option value="3">Windows XP</option>
<option value="4">Другая</option>
</select>
<input type="submit" value="Выбрал">
</form>
<?php
if (isset($_GET['os'])) {
$os = $_GET['os'];
if ($os == '1') echo 'Вы выбрали - Windows 98';
elseif ($os == '2') echo 'Вы выбрали - Windows ME';
elseif ($os == '3') echo 'Вы выбрали - Windows XP';
elseif ($os == '4') echo 'Вы выбрали – Другая';
elseif ($os == '0') echo 'Вы не выбрали операционную систему';
else echo 'Мы не смогли определить вашу операционную систему';
}
?>
С помощью оператора elseif мы можем определить выбранное в списке значение и вывести соответствующее сообщение.
Отправитель | Нити |
---|
12 пользователь(ей) активно (6 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 12 далее... |