Загрузка

RUS | ANG | |

StepkinBlog.ru

Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, Wordpress, Bootstrap

Главная » Основы PHP » Оператор условия if else Основы PHP с нуля Урок №9

12.09.2017


01:17


1689


пока нет


Оператор условия if else Основы PHP с нуля Урок №9

Оператор условия if else Основы PHP с нуля Урок №9

Всем привет!
Продолжаем изучать основы PHP с нуля!
В этом уроке я расскажу вам об операторе условий if else. В буквальном переводе if означаете «если», а else – «иначе». Сама конструкция if else помогает сверять данные и выводить результат (выводить сообщения, выполнять какую-то команду, перенаправлять пользователя на секретную страницу или впускать в админ-панель). Чтобы научиться писать правильно условия и понять конструкцию if else, я наведу жизненный пример, который очень похож на конструкцию if else.
Вы даете своему мозгу команду: как только звучит будильник (6:00), я должен встать, умыться, почистить зубы, одеться и галопом бежать на работу. Если будильник не звонит в 6:00, значит можно спать, так как на работу бежать не нужно.
Вы заметили конструкцию if else? Условием будет установленное время будильника «6:00». Если будильник звонит, то встаем и бежим на работу, если не звонит (иначе, еще говорят ложь), значит, спим дальше.
Таких примеров жизненных можно навести массу, например: если идет дождь, то сижу дома, если нет дождя, тогда беру мяч и иду играть футбол.
Итак, как же можно записать конструкцию if else? Очень просто.
Пойдем поэтапно и начнем с простого условия – оператор if.

Оператор условия if

Для лучшего понимания я изобразил схему конструкции if в виде рисунка:

Оператор условия if

Теперь попробуем трансформировать жизненный пример, который я навел выше, в код php.

<?php
$weather = "дождь"; //значение
if ($weather=="дождь") // условие
{
echo "Я сижу дома"; // результат
}
?>

Если вы сохраните php файл с этим кодом и откроете его через локальный сервер (см. урок №3), то в результате получится:

Я сижу дома

⇒ Разъяснение кода:
В условии я сравнил переменную $weather со значением "дождь" (строка №3). Человеческим языком этот код звучит так: если переменная $weather равна значению "дождь", тогда выводить нужно текст "Я сижу дома". Кстати, напомню вам (если подзабыли урок №8), что знак равенства обозначается двойным знаком «равно», вот так (==). Если к переменной $weather написать другое значение (строка №2), например, снег, тогда в браузере будет пустая страничка, так как условия не были соблюдены.

→ КОД-ШАБЛОН "КОНСТРУКЦИЯ if":

<?php
if (условие)
{
Этот код выполнится,
если условие верно
}
?>

 

→ Шпаргалка:

Равенство: ==
Пример: if ($a == $b)

Не равенство: !=
Пример: if ($a != $b)

Больше: >
Пример: if ($a > $b)

Меньше: <
Пример: if ($a < $b)

Больше или равно: >=
Пример: if ($a >= $b)

Меньше или равно: <=
Пример: if ($a <= $b)

Логическое «и»: and
Пример: if ($a ==$b and $c !=$d)

Логическое «или»: or, ||
Пример: if ($a ==$b || $c !=$d)

 

Оператор условия if-else

Теперь попробуем вывести сообщение, если условия не были соблюдены, а именно, если идет дождь, сижу дома, если нет дождя, беру мяч и иду играть футбол. Для лучшего понимания посмотрим рисунок снизу:

Оператор условия if-else

Теперь схему переведем в реальный код:

<?php
$weather = "солнце"; //значение
if ($weather=="дождь") //условие
{
echo "Я сижу дома"; //результат если условие верно
}
else
{
echo "Я беру мяч и иду играть в футбол"; //результат если условие не верно
}
?>

Результат:

Я беру мяч и иду играть в футбол

⇒ Разъяснение кода:
В условии я сравнил переменную $weather со значением "дождь" (строка №3), но так как переменной $weather я присвоил значение "солнце" (строка №2), то условие не было соблюдено (значения не одинаковы), а это значит, что будет работать вторая часть кода (else):

else
{
echo "Я беру мяч и иду играть в футбол"; //результат если условие не верно
}

→ КОД-ШАБЛОН "КОНСТРУКЦИЯ if-else":

<?php
if (условие)
{
Этот код выполнится,
если условие верно
}
else
{
Этот код выполнится,
если условие не верно
}
?>

Двойное условие if-else

Переходим к более сложному – двойное условие if-else.
Давайте на примере создадим проверку пароля и логина.

Цель:
Создать условие проверки логина и пароля. Если пароль или логин не совпадают, вывести сообщение об ошибке.

Приступим.
Создадим для начала две переменные $logo и $password с соответствующими значениями:

<?php
$logo = "StepkinBLOG"; //значение
$password = 1234567890; //значение
?>

Теперь создадим двойное условие для проверки переменных $logo и $password:

<?php
$logo = "StepkinBLOG"; //значение
$password = 1234567890; //значение
if ($logo =="StepkinBLOG" and $password == 123) //условие
{
echo "добро пожаловать в админ-панель"; //результат если условие верно
}
else
{
echo "Логин или пароль не верный"; //результат если условие не верно
}
?>

Обратите внимание, в условии мы разделили две переменные оператором "AND". Это означает, что две переменные должны быть правильными для выполнения условия, но так как у нас в условии не совпадает пароль (стока№4), значит, условие неверное и на экране вы увидите вот такое сообщение:

Логин или пароль не верный

Если поменяете значение переменной $password на "123" (строка №3), тогда условия будут полностью соблюдены (строка №4):

<?php
$logo = "StepkinBLOG"; // значение
$password = 123; //значение
if ($logo =="StepkinBLOG" and $password == 123) //условие
{
echo "добро пожаловать в админ-панель"; //результат если условие верно
}
else
{
echo "Логин или пароль не верный"; //результат если условие не верно
}
?>

Результат:

добро пожаловать в админ-панель

Вложенные конструкции if-else

Вложенная конструкция – это когда внутри конструкции находится еще одна конструкция. Не совсем понятно объяснил? Не беда, на примере все поймете.

Цель:
Создать условие проверки логина и пароля. Если пароль или логин не совпадают, вывести сообщение об ошибке, если совпадают, тогда еще проверить секретное слово, если секретное слово не совпадает, вывести сообщение об ошибке, если совпадает, тогда вывести сообщение "добро пожаловать в админ-панель".

Приступим:

Создадим для начала три переменные, $logo, $password и $x с соответствующими значениями:

<?php
$logo = "StepkinBLOG"; //значение
$password = 123; //значение
$x = "BlogGOOD"; //значение
?>

Теперь создадим двойное условие для проверки переменных $logo и $password:

<?php
$logo = "StepkinBLOG"; //значение
$password = 123; //значение
$x = "BlogGOOD"; //значение
if ($logo =="StepkinBLOG" and $password == 123) //условие №1
{
// тут будет еще одно условие с секретным словом
}
else
{
echo "Логин или пароль не верный"; //результат если условие не верно
}
?>

Теперь под комментарием " // тут будет еще одно условие с секретным словом" (строка №7) пропишите еще одну конструкцию if-else с условием проверки переменной $x:

<?php
$logo = "StepkinBLOG"; //значение
$password = 123; //значение
$x = "Stepa"; //значение
if ($logo =="StepkinBLOG" and $password == 123) //условие №1
{
// тут будет еще одно условие с секретным словом
if ($x = "BlogGOOD") //условие №2
{
echo "добро пожаловать в админ-панель"; //результат если условие верно №2
}
else
{
echo "секретное слово не верное"; //результат если условие не верно №2
}
}
else
{
echo "Логин или пароль не верный"; //результат если условие не верно №1
}
?>

Так как секретное слово неверное (строка №8), то на экране будет сообщение:

секретное слово неверное

Если вы замените значение переменной $x на "BlogGOOD", тогда и секретное слово будет правдивым:

<?php
$logo = "StepkinBLOG"; //значение
$password = 123; //значение
$x = "BlogGOOD"; //значение
if ($logo =="StepkinBLOG" and $password == 123) //условие №1
{
// тут будет еще одно условие с секретным словом
if ($x = "BlogGOOD") //условие №2
{
echo "добро пожаловать в админ-панель"; //результат если условие верно №2
}
else
{
echo "секретное слово неверное"; //результат если условие не верно №2
}
}
else
{
echo "Логин или пароль не верный"; //результат если условие не верно №1
}
?>

Так как логин и пароль верный и это значит, что условие было соблюдено, то заработала первая часть кода, где нужно было проверить секретное слово. Так как и секретное слово верное с условием, тогда на экране вы увидите сообщение:

добро пожаловать в админ-панель

→ КОД-ШАБЛОН "ВЛОЖЕННАЯ КОНСТРУКЦИЯ if-else":

<?php
if (условие)
{
Этот код выполнится,
если условие верно
if (условие)
{
Этот код выполнится,
если условие верно
}
else
{
Этот код выполнится,
если условие не верно
}

}
else
{
Этот код выполнится,
если условие не верно
}
?>

Оператор условия elseif

Конструкция elseif - это комбинация конструкций if и else, которая поможет проверить несколько условий подряд.

Синтаксис:

<?
if (условие)
{
действие
}
elseif (условие)
{
действие
}
elseif (условие)
{
действие
}
else
{
Действие, если ни один случай не подошел
}
?>

Заметьте, в строках №6 и №10 специально два слова написаны вместе «elseif», если вы их разделите пробелом «else if», то код выдаст ошибку.

Давайте приведу рабочий код с выбором учебника по программированию.

Пример:

<?
// Используем elseif
$stepkinblog = "PHP";
if ($stepkinblog == "C++")
{
echo "Вы заказали учебник по C++";
}
elseif ($stepkinblog == "JavaScript")
{
echo "Вы заказали учебник по JavaScript";
}
elseif ($stepkinblog == "PHP")
{
echo "Вы заказали учебник по PHP";
}
elseif ($stepkinblog == "JAVA")
{
echo "Вы заказали учебник по JAVA";
}
else
{
echo "Сделайте выбор"; //Действие, если ни один случай не подошел
}
?>

Результат:

Вы заказали учебник по PHP

Способ elseif можно записать так же и вложенной конструкцией if else:

<?php
// Используем if-else
$stepkinblog = "PHP";
if ($stepkinblog == "C++")
{
echo "Вы заказали учебник по C++";
}
else
{
if ($stepkinblog == "JavaScript")
{
echo "Вы заказали учебник по JavaScript";
}
else
{
if ($stepkinblog == "PHP")
{
echo "Вы заказали учебник по PHP";
}
else
{
if ($stepkinblog == "JAVA")
{
echo "Вы заказали учебник по JAVA";
}
else
{
echo "Зделайте выбор"; //Действие, если ни один случай не подошел
}
}
}
}
?>

Результат такой же, вот только запутаться легче (я  2 раза запутался в своем же коде ) :mrgreen:.

Дополнение к уроку (пока знать не обязательно):

Есть еще несколько вариантов, как можно записывать конструкцию if else (альтернативный синтаксис).
Про альтернативный синтаксис я подготовлю целый урок, где все растолкую и покажу. Сейчас просто пробежитесь глазами.
Код №1:

<?php
$a = 15;
if ($a == 15):
?>
<h3> Переменная "$а" содержит значение 15 </h3>
<?php endif; ?>

Код №2:

<?php
$a = 6;
if ($a == 5):
echo " Переменная содержит значение 5";

elseif ($a == 6):
echo " Переменная содержит значение 6";

else:
echo " Переменная не содержит значение 5 и не 6";
endif;
?>

Домашнее задание:
Попробуйте в условии вместо равенства (==) поставить неравенство (!=) или попробовать со знаками больше меньше:

<?
$num = 1;
if ($num <= 10)
{
echo "переменная меньше или равна 10";
}
else
{
echo "переменная больше 10";
}
?>

а также замените оператор "AND" на "OR".

Все, жду вас на следующих уроках! Подписывайтесь на обновления блога!



Случайные записи:

  1. Как проверить HTML форму. Основы HTML для начинающих. Урок №19
  2. Бесплатный курс по основам CSS
  3. PHP операторы. Основы PHP с нуля. Урок №8
  4. Основы bootstrap для начинающих. Урок №1
  5. Шрифты в CSS. Основы CSS для начинающих. Урок №6

Последние записи рубрики:

  1. Полезные функции php List, Isset, Unset, Empty, Date, Count и Exit. Основы PHP с нуля. Урок №18
  2. Подключение файлов php через Include или Require. Основы PHP с нуля. Урок №17
  3. Функции (function). Основы PHP с нуля. Урок №16
  4. Альтернативный синтаксис управляющих структур. Основы PHP с нуля. Урок №15
  5. Цикл Foreach. Основы PHP с нуля. Урок №14

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Подписаться на обновления:

Подпишись на обновления моего блога через e-m@il:

@

Реклама на блоге:

Мои цели на
2017 год:

Довести количество статей до 150

Доделать этот блог

Закончить тему «Основы CSS»

Закончить тему «Основы PHP»

Начать тему «Основы JavaScript»

Добиться посещаемости 500 чел/сутки

Статистика:

Записей: 104
Страниц: 3
Рубрик: 9
Меток: 11
Комментариев: 245