PHP — Условия (if-else, switch)

Условия — для чего они нужны?

Для чего же в PHP как и в любом другом языке программирования нужны условия? При решении каких-либо жизненных задач мы с вами часто встаем перед выбором, как поступить в той или иной ситуации, решения мы принимаем в зависимости от обстоятельств. В программировании так же, любое условие начинается со слова «если», помните детство? Если на улице будет мороз — то я не пойду в школу, иначе мне придется пойти. Я только что вам показал пример условия, в том виде, как это выглядит в программной разработке.

Условия нужны нам, чтобы направлять нашу программу (скрипт или сервис), по необходимым нам путям (ветвям) и логическим конструкциям. Ведь компьютер может лишь выполнять строго написанный скрипт, сам он решение принять не сможет, для этого и существуют условия.

Конструкция if-else

Для начала рассмотрим конструкцию if-else, без else (иначе):

<?php
$a = 5;
$b = 10;
if ($a <= $b)
    {
        echo "condition is true\n";
    }
?>

Проговорим наш скрипт: «$a = 5, $b = 10, если $a меньше, либо равно $b, тогда вывести на экран ‘condition is true’ (условие верное, если перевести на русский)».

Структура условия:

<?php
if (логическое выражение)
    {
        // если логическое выражение верно, истина
    }
else
    {
        // если логическое выражение не верное, ложь
    }

if (логическое выражение 1)
    {
        // если истина
    }
else if (логическое выражение 2)
    {
        // если второе выражение истина
    }
else
    {
        // если оба выражения ложь
    }
?>

Что записывается в логические выражения? В логических выражениях все сводится к сравнениям, так же можно использовать такие конструкции как «И» (AND) и «ИЛИ» (OR) или же их можно записать через «&&» и «||» соответственно, давайте рассмотрим пример:

<?php
if (логическое выражение 1 && логическое выражение 2 || логическое выражение 3)
    {
        // истина
    }
else
    {
        // ложь
    }
?>

В этом варианте мы получит истину лишь при выполнении 1 и 2 условий или 3 условия, если же они не являются верными, то результат будет — ложь. Наглядно рассмотрим этот пример с реальными переменными, так будет интереснее и понятнее:

<?php
$a  = 3;
$b  = 10;
$c  = false;
$go = true;
if ($a > $b && $c === false || $go === true)
    {
        echo "condition is true\";
    }
?>

 

Результатом запуска этого скрипта будет вывод в консоль «condition is true». Почему? Хоть у нас и выполнилась вторая часть первого логического выражения, объединенного конструкцией «И» с $a > $b, но в первой части этой конструкции переменная $a не больше $b, 3 > 10 = ложь. Вывод на экран выполнился потому, что значение переменной $go удовлетворило условие, находящееся за конструкцией «ИЛИ» истина === истина.

Конструкция switch

Зачем же нужен свитч? Switch с перевода на русский значит — переключатель. Видели тройные и четверные переключатели, как раз это и напоминает конструкция Switch.

Оператор switch подобен серии операторов IF с одинаковым условием. Во многих случаях вам может понадобиться сравнивать одну и ту же переменную (или выражение) с множеством различных значений, и выполнять различные участки кода в зависимости от того, какое значение принимает эта переменная (или выражение). Это именно тот случай, для которого удобен оператор switch.

<?php
if ($i == 0)
    {
        echo "i равно 0";
    }
elseif ($i == 1)
    {
        echo "i равно 1";
    }
elseif ($i == 2)
    {
        echo "i равно 2";
    }

switch ($i)
    {
        case 0:
            echo "i равно 0";
            break;
        case 1:
            echo "i равно 1";
            break;
        case 2:
            echo "i равно 2";
            break;
    }
?>

Удобнее? Значительно удобнее, хотя и редко встречается в коде.

Так же существует специальный вид конструкции case — default. Сюда управление попадает тогда, когда не сработал ни один из других операторов case. Например:

<?php
$i = 10;
switch ($i)
    {
        case 0:
            echo "i равно 0";
            break;
        case 1:
            echo "i равно 1";
            break;
        case 2:
            echo "i равно 2";
            break;
        default:
            echo "i не равно 0, 1 или 2";
    }
?>

В этом случае мы как раз получим вывод «i не равно 0, 1 или 2».

Конструкцию целесообразно использовать в таких операциях как выбор обработчика в зависимости от пришедших в переменную данных, например если отключили свет, то надо проверить пробки, если пробки в порядке, то залезть в щиток, ничего не помогло, то звоним в управляющую компанию. Что то в этом роде.

Заключение

В этой статье мы с вами познакомились с условиями и рассмотрели логическую конструкцию if-else и switch, они нам очень пригодятся в дальнейшем, а сейчас перед переходом к практическому занятию после этой статьи, пожалуйста, подробно ознакомьтесь с прочитанным материалом. Помимо записи условий мы познакомились в примерах с операторами для сравнения «>, <, ==, ===, <=, >=», а так же для объединения логических выражений через «&& и || (и, или)». 

Условия занимают одну из важнейших позиций в разработке наряду с циклами, они очень часто встречаются в коде, возможно вы о них слышали еще с уроков информатики. В следующей статье мы на практике будем использовать условия и закрепим вышеизложенный материал.

Подпишитесь на рассылку новых статей

Подпишитесь на рассылку свежих статей и присоединяйтесь к 5 остальным подписчикам.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *