Урок 6: Условия

Урок 6: Условия

Условия используются для выполнения части скрипта, только если некоторые предопределённые требования (условия/conditions) выполняются. Например, условие может требовать, чтобы дата была после January 1, 2012, или чтобы переменная была больше 7.

If...

Первый тип условия, который мы рассмотрим, называется документацияif, и оно имеет такой синтаксис:
 if (условие) {
    оператор
 }
 
 
Этот синтаксис, опять-таки близок нормальному языку: If\если условие соответствует, то выполняется ещё что-то. Рассмотрим простой пример:
 <html>

 <head>
 <title>Циклы</title>
 </head>
 <body>

 <?php

 $x = 2;

 if ($x > 1) {
    echo "<p>переменная $x больше 1</p>";
 }
  
 ?>

 </body>
 </html>
 
 

if ... else ...

Следующий тип условия, который мы рассмотрим, называется документацияelse , который может быть представлен в следующей форме:
 
 if (условие) {
    оператор
 }
 else {
    оператор
 }

 
Синтаксис: if\если условие соответствует, выполняется что-то, либо else\иначе выполняется ещё что-то.
В уроке 4 вы узнали, как определить число/день месяца. В следующем примере мы используем номер месяца в условии документацияif документацияelse для определения времени года:
 <html>
 <head>
 <title>Условия</title>
 </head>
 <body>

 <?php

 if (date ("m") == 3) {
    echo "<p>Сейчас весна!</p> ";
 }
 else {
    echo "<p>Я не знаю, какое сейчас время года!</p> "; 
 }

 ?>

 </body>
 </html>
 
 
Как видите, это условие работает не особо тонко - оно выполняется, только если сейчас март!
Однако есть масса способов усложнить условие и сделать его работу более точной. Ниже перечислены операции сравнения, которые можно использовать в нашем операторе:
== равно
< меньше, чем
> больше, чем
<= меньше или равно
>= больше или равно
!= не равно
Кроме того существуют логические операции:
&& И
|| ИЛИ
! НЕ
Эти операции можно использовать для создания более сложных условий, так что мы теперь можем расширить предыдущий пример и включить в него все весенние месяцы:
 <html>
 <head>
 <title>Условия</title>

 </head>
 <body>

 <?php
 
 if (date("m") >= 3 && date("m") <= 5) {
    echo "<p> Сейчас весна!</p> ";
 }
 else {
    echo "<p> Сейчас, зима, лето или осень!</p> ";
 }
  
 ?>

 </body>
 </html>

 
 
Рассмотрим расширенное условие подробнее:
 date("m") >= 3 && date("m") <= 5 
 
Его можно расшифровать так:
 Если месяц больше или равен 3 и меньше или равен 5
 
 
Неплохо, а? Операции играют важную роль в PHP.
Но это работает только с мартом, апрелем и маем. Все другие месяцы не охватываются этим условием. Так что попытаемся усложнить условие ещё немного.

if ... elseif ... else...

Используя документацияelseif, мы можем расширить условие, и оно будет работать для всех месяцев:
 <html>
 <head>
 <title>Условия</title>

 </head>
 <body>

 <?php
 
 if (date("m") >= 3 && date("m") <= 5) {
    echo "<p>Сейчас весна!</p>";
 }

 elseif (date("m") >= 6 && date("m") <= 8) {
    echo "<p>Сейчас лето!</p>";
 }

 elseif (date("m") >= 9 && date("m") <= 11) {
    echo "<p>Сейчас осень!</p>";
 }

 else {
    echo "<p>Сейчас зима!</p>";
 }
  
 ?>

 </body>
 </html>

 
 
Написание условий требует методичности и логического подхода. Предыдущий пример достаточно прямолинеен, но условия могут быть весьма сложными.

switch ... case

Другой способ написания условий - использование метода документацияswitch:
 switch (выражение) {
 
 case 1: 
    оператор
    break; 
 case 2: 
    оператор
    break; 
 default:
    оператор
    break;
 }
 
 
Этот метод основан на выражении и перечисляет различные "ответы" или "значения" с соответствующими операторами. Проще всего объяснить работу этого метода на примере.
Как вы помните из урока 4, функция документацияdate("w") возвращает текущий день недели. Можно использовать это в нашем примере, где выводится названия дня (вместо цифры):
 <html>
 <head>
 <title>Условия</title>
 </head>
 <body>

 <?php
 
 switch(date("w")) {
  
 case 1:
    echo "Сегодня понедельник";
    break;
 case 2:
    echo "Сегодня вторник";
    break;
 case 3:
    echo "Сегодня среда";
    break;
 case 4:
    echo "Сегодня четверг";
    break;
 case 5:
    echo "Сегодня пятница";
    break;
 case 6:
    echo "Сегодня суббота";
    break;
 default:
    echo "Сегодня воскресенье";
    break;
  
 }
  
 ?>

 </body>
 </html>
 
 
Часто документацияswitch может быть альтернативой условиям документацияif документацияelse. Что использовать в конкретной ситуации - зависит от того, какой метод представляется вам наиболее простым и логичным. Сделать ваши логичными и понятными - вот ваша задача.
В следующем уроке мы рассмотрим, как добавлять комментарии в скрипты для пояснения их работы. Хорошие комментарии могут понадобиться если вы или кто-то ещё захочет в будущем внести изменения в код.
Друзья сайта

Комментариев нет:

Отправить комментарий