Урок 9
Урок 9. Условные операторы, конструкция выбора, команды вывода данных
На данном уроке мы рассмотрим:
Тернарный оператор
Конструкция if
Конструкция else
Конструкция выбора
Команды вывода данных
echo
print
Тернарный оператор
Использование трехкомпонентного оператора ? позволяет избежать многословности инструкций if и else. Необычность этого оператора заключается в том, что он использует не два, как большинство других операторов, а три операнда. Синтаксис оператора выглядит следующим образом:
условие ? выражение1 : выражение2
Если условие - TRUE, то выполняется выражение 1, если FALSE то выражение 2.
Рассмотрим пример. Если х>10, то вывести сообщение "х больше чем 10", иначе вывести сообщение "х меньше 10".
$x = 5;
echo ($x > 10) ? "х больше 10" : "х меньше 10";?>
Ответ будет выглядеть следующим образом:
Конструкция if
Конструкция if является одной из наиболее важных во многих языках программирования, в том числе и PHP. Она предоставляет возможность условного выполнения фрагментов кода. Структура if реализована в PHP по аналогии с языком C:
if (выражение)
инструкция;
Согласно выражениям PHP, конструкция if содержит логическое выражение. Если логическое выражение истинно (true), то оператор, следующий за конструкцией if будет исполнен, а если логическое выражение ложно (false), то следующий за if оператор исполнен не будет.
Приведем пример:
if ($х > $у) echo "х больше, чем у";
Если нужно выполнить несколько операторов, то их нужно поместить в фигурные скобки {...}
Пример:
if ($a > $b) {
echo "a больше b";
$b = $a;
}
Конструкция else
Часто возникает потребность исполнения операторов не только в теле конструкции if, если выполнено какое-либо условие, но и в случае, если условие конструкции if не выполнено. Такая конструкция будет называться конструкцией if-else. Синтаксис конструкции if-else:
if (логическое_выражение)
инструкция_1;
else
инструкция_2;
Действие конструкции if-else следующее: если логическое выражение true, то выполняется инструкция 1. Иначе, если логическое выражение false, то выполняется инструкция 2. Если инструкция 1 или инструкция 2 должны состоять из нескольких операторов, то они заключаются в фигурные скобки.
Например:
if ($a > $b) {
echo "a больше, чем b";
} else {
echo "a НЕ больше, чем b";
}
Конструкция выбора
Конструкции switch-case
Оператор switch подобен серии операторов IF с одинаковым условием. Во многих случаях вам может понадобиться сравнивать одну и ту же переменную (или выражение) с множеством различных значений, и выполнять различные участки кода в зависимости от того, какое значение принимает эта переменная (или выражение). Это именно тот случай, для которого удобен оператор switch.
switch(выражение) {
case значение1: команды1; [break;]
case значение2: команды2; [break;]
. . .
case значениеN: командыN; [break;]
[default: команды_по_умолчанию; [break]]
}
Принцип работы конструкции switch-case такой:
Вычисляется значение выражения;
Просматривается набор значений. Пусть значение1 равно значению выражения, вычисленного на первом шаге. Если не указана конструкция (оператор) break, то будут выполнены команды i, i+1, i+2, ... , N. В противном случае (есть break) будет выполнена только команда с номером i.
Если ни одно значение из набора не совпало со значением выражения, тогда выполняется блок default, если он указан.
Рассмотрим пример:
$x=1;
switch ($x) {
case 0:
echo "x=0
";
break;
case 1:
echo "x=1
";
break;
case 2:
echo "x=2
";
break;
}
Данный код выведет х=1:
Команды вывода данных
Для того чтобы создавать динамические сайты с помощью PHP вы должны научиться отправлять данные для вывода в веб-браузере. В PHP имеется для этих целей несколько языковых конструкций. Наиболее популярные в использовании среди них это:
echo
print
echo
echo — Выводит одну или более строк.
echo ( string $arg1 [, string $... ] )
На самом деле echo - это не функция, а конструкция языка, поэтому заключать аргументы в скобки необязательно. echo (в отличии от других языковых конструкций) не ведет себя как функция, поэтому не всегда может быть использована в контексте функции. Вдобавок, если вы хотите передать более одного аргумента в echo, эти аргументы нельзя заключать в скобки.
Например,
echo "Привет, студент!";
print
print — Выводит строку.
print ( string $arg )
Выводит arg.
print не является "настоящей" функцией (это конструкция языка), поэтому заключать аргументы в скобки необязательно.
Вопросы и задания!
Объявить переменные а и b. Если сумма этих двух переменных больше а, то вывести сообщение "Сумма больше, чем а", иначе вывести "Сумма меньше, чем а". Написать программу использую тернарный оператор и конструкцию else.
Написать программу, которая выводит какой сегодня день недели. Используйте конструкцию выбора.
Сравните длину имен и фамилий ваших соседей. Вывести их с помощью команды print.