Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Урок 2. Условные операторы IF и SWITCH.

news date Дек.09.2007    categories Web-программирование > PHP    comments (0)

Программы, которые мы написали в первом уроке, были линейными, т.е. все действия в них выполнялись последовательно, в том порядке, в котором в них располагались операторы. Иногда, однако, требуется пропускать или многократно повторять некоторые из действий, в зависимости от условий. Делать это позволяют управляющие конструкции PHP, к которым принадлежат условные операторы и операторы циклов. Этот урок будет посвящен условным операторам.
Простейшими конструкциями, предназначенными для изменения порядка выполнения операторов, являются условные операторы if, if-else и switch. Применение первых двух из них требует использования логических выражений и логических операторов, которые будут рассмотрены в этом уроке.

Оператор IF.

Синаксис:

if(условие)
{
действия
}

Если “условие” является ИСТИНОЙ, то выполняются “действия”.

Пример:

<?php
     $a=14;
     $b=12;
     if($a>$b)
     {
     echo "$a больше $b";
     }
     ?>

Данный пример выведет строку “14 больше 12″, так как условие ($a>$b) является ИСТИНОЙ.

Небольшое отступление по поводу записи операторов сравнения и логических операторов:

Операторы сравнения:

$a == $b Равно TRUE если $a равно $b.
$a === $b Тождественно TRUE если $a равно $b и имеет тот же тип
$a != $b Не равно TRUE если $a не равно $b.
$a <> $b Не равно TRUE если $a не равно $b.
$a !== $b Не тождественно TRUE если $a не равно $b или в случае, если они разных типов
$a < $b Меньше TRUE если $a строго меньше $b.
$a > $b Больше TRUE если $a строго больше $b.
$a <= $b Меньше или равно TRUE если $a is меньше или равно $b.
$a >= $b Больше или равно TRUE если $a больше или равно $b.

Логические операции:

Пример Название Результат
$a and $b Логическое ‘и’ TRUE если и $a, и $b TRUE.
$a or $b Логическое ‘или’ TRUE если или $a, или $b TRUE.
$a xor $b Исключающее ‘или’ TRUE если $a, или $b TRUE, но не оба.
! $a Отрицание TRUE если $a не TRUE.
$a && $b Логическое ‘и’ TRUE если и $a, и $b TRUE.
$a || $b Логическое ‘или’ TRUE если или $a, или $b TRUE.

Примеры использования логических операций:

Допустим, имеются переменные:
$a=0;
$b=1;
$c=’1′;

if($a and $b) Условие НЕ выполняется т.к. одна из переменных FALSE
if($a or $b) Условие выполняется т.к. одна из переменных TRUE
if($b xor $c) Условие НЕ выполняется т.к. обе переменные TRUE
if(!$a) Условие выполняется т.к. переменная $a НЕ TRUE
if($a && $b) Условие НЕ выполняется т.к. одна из переменных FALSE
if($a || $b) Условие выполняется т.к. одна из переменных TRUE

Оператор IF может проверять не единственное условие. Допустим, нам необходимо выполнять или не выполнять какие либо действия в случае, если одно из нескольких условия – истина.

Оператор IF-ELSE:

Пример:

<?php
   $a=10;
     $b=12;
     if($a>$b)
     {
 echo "$a больше $b";
     }  

     else if($a<$b)
     {
     echo "$a меньше $b";
     }
     else
     {
     echo "$a равно $b";
     }
     ?>

Мы можем добавлять любое количество условий при помощи оператора else. Если после оператора else нет оператора if, – то используется “любое другое условие”, не затронутое предыдущими операторами if.

В нашем случае можно объяснить работу скрипта таким образом:

ЕСЛИ ($a больше $b) – ТО написать “$a больше $b”;
ИНАЧЕ ЕСЛИ
($a меньше $b) – ТО написать “$a меньше $b”;
ИНАЧЕ (в любом другом случае) – написать “$a равно $b”;

Оператор SWITCH

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

Например:

<?php
 $a=2;
switch($a)
 {
 case(1):
  echo "$a = 1";
  break;
  case(2):
  echo "$a = 2 ";
  break;
case(3):
 echo "$a = 3 ";
 break;
 }
 ?>

В этом случае отработает case(2)

синтаксис:

switch(переменная)
{
case(значение):
действие, выполняемое если “переменная” равна “значению”;
break;
}

Количество вариантов case может быть сколь угодно большим.

Задачи к уроку 2:

Задача 1

Создать форму, отсылающую в скрипт script.php методом POST три переменные.
В скрипте получить значения этих переменных и вывести результат сравнения этих значений, например $a больше $b, $b меньше $c и т.д.

Задача 2

Задача на проверку введенного пользователем числа. Получить методом GET из адресной строки переменную $a и если эта переменная больше 10, вывести сообщение, в другом случае не выводить сообщения.

Задача 3

Использование оператора switch. Принять переменную $a методом GET из командной строки и выводить различные тектовые сообщения, в зависимости от значения этой переменной. Например, если $a = 1, то вывести “Хорошо”, если $a = 0, то вывести “Плохо” и т.д.

Далее читать после выполнения заданий :)

Ответы:

Задача 1. Код:

Код HTML формы:

<form method="post" action="script.php">
   Переменная a: <input type="text" name="a"><br>
     Переменная b: <input type="text" name="b"><br>
     Переменная c: <input type="text" name="c"><br>
<input type="submit" value="Отправить">
</form>

Код скрипта script.php

<?php
     $a=$_POST['a'];
     $b=$_POST['b'];
     $c=$_POST['c'];
     if($a>$b)
     {
     echo "$a больше $b <br>";
     }
     else if($a<$b)
     {
 echo "$a меньше $b   <br>";
     }
     else
     {
 echo "$a равно $b   <br>";
     }
     if($a>$c)
     {
     echo "$a больше $c <br>";
     }
     else if($a<$c)
     {
     echo "$a меньше $c <br>";
     }
     else
     {
     echo "$a равно $c <br>";
     }
     if($b>$c)
     {
     echo "$b больше $c <br>";
     }
     else if($b<$c)
     {
     echo "$b меньше $c <br>";
     }
     else
     {
     echo "$b равно $c <br>";
     }
     ?>

Задача 2. Код:

Код скрипта script.php

<?php
     $a=$_GET['a'];
     if($a>10)
     {
     echo "$a Больше 10";
     }
     else
     {
     exit;
     }
     ?>

Обращаемся к скрипту, посылая в адресной строке переменную $a: http://vash_site.ru/script.php?a=12

Задача 3. Код:

<?php
     $a=$_GET['a'];
     switch($a)
     {
     case(0):
     echo 'Плохо';
     break;
      case(1):
     echo 'Хорошо';
     break;
     case(2):
     echo 'Отлично';
     break;
     }
     ?>

Обращаемся к скрипту, посылая в адресной строке переменную $a: http://vash_site.ru/script.php?a=1

Контрольные вопросы по уроку 2:

  1. Что такое условные операторы. Перечислите их типы.
  2. Синтаксис условных операторов IF, IF-ELSE и SWITCH
  3. В чем отличие использования IF от SWITCH
  4. Перечислите операторы сравнения и приведите примеры использования
  5. Если $a=0; $b=1; $c=2, будет ли условие ($a>$b || $b<$c) TRUE или FALSE
  6. Если $a=0; $b=1; $c=2, будет ли условие ($a>$b && $b<$c) TRUE или FALSE

Рекомендую ответы на вопросы записывать в тетрадь…

Спасибо за внимание!


Обсуждения

Нет комментариев к “Урок 2. Условные операторы IF и SWITCH.”

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

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал