Условие (if else) в PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2207
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 81 раз

Условие (if else) в PHP

#1

Сообщение Slash » Пт дек 20, 2013 1:30 pm

Доброго времени суток.
Хочу в своем посте кратко рассказать об условиях в php, для чего они нужны и как с ними работать. Начну конечно же с пояснения:
Условия в php - это часть скрипта, например которое может требовать что бы переменная соответствовала текущему времени суток, или чтоб переменная показывала информацию о том, что пользователь должен зарегистрироваться или авторизоваться, если смотрит гость, а если пользователь авторизован, то отображается другая информация.
И так переходим к первому примеру условия, которое называется if и выглядит примерно так:

Код: Выделить всё

    if (условие)
       {
          оператор
       }
Этот синтаксис говорит о том, что если условие соответствует, то выполняет свою работу оператор. Для лучшего восприятия приведу простой пример:

Код: Выделить всё

    $figure = 5;

    if ($figure > 3)
       {
           echo "<strong>$figure</strong> больше чем 3"; 
       } 
То есть если переменная $figure равна пяти, а в условии стоит цифра меньше пяти, то выйдет сообщение: 5 больше чем 3. Если же цифру три заменить больше пяти или равную переменной $figure (пять), то данного сообщения не будет.

Разобравшись с этим переходим к следующей конструкции условия, которое выглядит так (пример):

Код: Выделить всё

    if (условие)
       {
          оператор
       }
    else
       {
          оператор
       } 
Как Вы видите добавился элемент else. Говоря человеческим языком назовем его если или иначе, как Вам угодно! И так else служит для перехода к другому оператору, в том случаи если условие не соответствует. Возьмем пример, который рассматривали выше но уже с else:

Код: Выделить всё

    $figure = 5;

    if ($figure > 7)
       {
           echo "<strong>$figure</strong> больше чем 7"; 
       } 
    else
       {
           echo "<strong>$figure</strong> меньше чем 7";    
       }
В коде условие проверят какое число больше, если пять окажется больше чем семь, то выходит сообщение 5 больше чем 7, но так как это не правильный вывод, то переходит к else и выходит сообщение 5 меньше чем 7. Но если мы назначим переменную $figure равную семи, то пройдя проверку, какое число больше выяснится, что семь не больше семи, и у нас выйдет сообщение: 7 меньше чем 7, что совсем неправильно... Давайте рассмотрим еще пример с условием elseif и улучшим наш код, сделаем его правильным. И так на пальцах это выглядит так:

Код: Выделить всё

    if (условие)
       {
          оператор
       }
    elseif (условие)
       {
          оператор
       }
    else
       {
          оператор
       } 
а на деле это должно быть так:

Код: Выделить всё

    $figure = 7;

    if ($figure > 7)
       {
            echo "<strong>$figure</strong> больше чем 7"; 
       }
    elseif ($figure == 7)
       {
            echo "<strong>$figure</strong> равно 7";
       }     
    else
       {
            echo "<strong>$figure</strong> меньше чем 7";    
       }
Мы добавили в условие проверку на равное число. С начало проверяется какое число больше, если переменная $figure меньше или равна семи, значит проверка пойдет дальше к условию elseif ($figure == 7), если тут выяснится, что переменная не равна семи, то будет выходить сообщение, которое содержит в себе else. Но в данном случаи переменная равна семи, поэтому выйдет сообщение: 7 равно 7.

Для составления условия может быть полезным:
Арифметические операторы в PHP
Логические операторы в PHP
Операторы сравнения в PHP

Реклама
cefp
Сообщения: 338
Зарегистрирован: Ср окт 17, 2012 6:49 pm
Поблагодарили: 3 раза

Re: Условие (if else) в PHP

#2

Сообщение cefp » Ср дек 09, 2015 4:00 pm

Возник вопрос: правильно ли я понял, что текст "if" и текст условия должны размещаться в одной строке и между ними должен быть один пробел?
Знак открывающейся скобки должен быть на новой строке или это не имеет значения?
Можно ли после знака открывающейся скобки {
писать текст или его тоже надо писать только на новой строке?
Количество пробелов в начале строки как-то влияет на работу кода или они нужны только для удобства?
d o h o d - s - n u l y a .ru - идеи бизнеса.

Аватара пользователя
Slash
Администратор
Сообщения: 2207
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 81 раз

Re: Условие (if else) в PHP

#3

Сообщение Slash » Ср дек 09, 2015 4:25 pm

cefp, можно вообще весь код написать в одну строчку, без пробелов:

Код: Выделить всё

if($figure>7){echo"<strong>$figure</strong> больше чем 7";}else{echo"<strong>$figure</strong> меньше чем 7";}
и он будет работать, но не удобно в таком коде вносить, какие то правки.
cefp писал(а):Количество пробелов в начале строки как-то влияет на работу кода
Ни как, если это конечно пробелы не перед <?php.
Просто с пробелами в начале строки видно, что из под чего вытекает и куда двигается дальше.

Ответить Пред. темаСлед. тема

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей