Else оператор-2;

где условие – это любое логическое выражение (обязательно ставится в скобки).

В каждой ветке альтернативы может следовать только один оператор языка, причем перед else точка с запятой ставитсяобязательно.

Примеры:

1. определить значения переменной z после выполнения операторов:

$x = 1;

$z = 3;

if ($x – $z > 0) //в данном случае условие ложно, поэтому

$z --; //будетвыполняться ветвь else, и, значит,

else $z++; //z = 4

2. определить наибольшую из двух переменных $a и $b, присвоив ее значение переменной :

данет

 

 

Словесное описание алгоритма:

ЕСЛИ (a > b)

ТО c = a

ИНАЧЕ c = b;

Реализуем этот алгоритм на PHP:

if ($a > $b)

$c = $a;

else $c = $b;

3. решить эту же задачу сокращенной альтернативой:

а)двумя сокращенными альтернативами:

if ($a > $b)

$c = $a;

if ($b > $a)

$c = $b;

 

б)одной сокращенной альтернативой:

 

$c = $b;

if ($a > $b)

$c = $a;

 

 

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

sin c,если c < 2,5

a = cos c,если c ≥ 2,5

| c |,если c < 2,5

b =

1/c, если c ≥ 2,5

 

На PHP:

if ($c < 2.5) Внимание! Перед служебным словом

{ elseставится точка с запятой!

$a=sin($c);

$b=abs($c);

}

Else

{

$a=cos($c);

$b=1.0/$c;

}

Еще раз необходимо обратить внимание на то, что в PHP после закрывающей фигурной скобки точка с запятой не ставится, а перед ней – обязательно.

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

Примеры:

1. определить наибольшую из трех переменных $x, $y,$z и присвоить ее значение переменной $s:

а) с использованием полной альтернативы:

ЕСЛИ (x > y) if ($x > $y)

ТО ЕСЛИ (x > z) if ($x > $z)

ТО s = x $s=$x;

ИНАЧЕ s = z else $s=$z;

ИНАЧЕ ЕСЛИ (y > z) else if ($y > $z)

ТО s = y $s=$y;

ИНАЧЕ s = z; else $s=$z;

б) с использованием усеченной альтернативы: вариант 1

 

s = z; $s = $z;

ЕСЛИ (x > y) if ($x > $y)

ТО ЕСЛИ (x > z) if ($x > $z)

ТО s = x; $s=$x;

ЕСЛИ (y > x) if ($y > $x)

ТО ЕСЛИ (y > z) if ($y > $z)

ТО s = y; $s=$y;

вариант 2 – с использованием операции конъюнкции

s = z; $s = $z;

ЕСЛИ (x > y) & (x > z) if (($x > $y) && ($x > $z))

ТО s = x; $s=$x;

ЕСЛИ (y > x) & (y > z) if (($y > $x) && ($y > $z))

ТО s = y; $s=$y;

 

 

2. по заданной дате (день, месяц, год) определить день недели, приходящийся на нее:

<?php

$day=19;

$month=9;

$year=1949;

$kl=0;

$c=0;

$y1=$year/100;

$y2=$year-$y1*100;

if (($y2==0) && ($y1%4==0))

$c=1;

if (($y2!=0) && ($y2%4)==0))

$c=1;

if (($c==1) && ($month==1) ||($month==2))

$kl=1;

if (($c==0) && ($month==1) || $month==2))

$kl=2;

$c=ceil(365.25*$y2) + ceil(30.56*$month) + $day + $kl;

$c %= 7;

$c += 3;

if ($c==1)

echo “<BR>Это понедельник<BR>”;

if ($c==2)

echo “<BR>Это вторник<BR>”;

if ($c==3)

echo“<BR>Это среда<BR>”;

if ($c==4)

echo “<BR>Это четверг<BR>”;

if ($c==5)

echo “<BR>Это пятница<BR>”;

if ($c==6)

echo “<BR>Это суббота<BR>”;

if ($c==7)

echo “<BR>Это воскресенье<BR>”;

?>

По принятому в PHP соглашению, ветвь else всегда относится к ближайшему предшествующему ему незанятому if:

if ($n > 0)

if ($m % $n > 2)

$m -= $n;

else $m += $n;

else $m %= $n;

В данном случае ветвь else $m += $n относится к if ($m % $n > 2), а ветвь else $m %= $n относится к if ($n > 0).

При переходе с Паскаля на PHP программисты часто допускают ошибки при формировании условия в операторе if, путая две операции:

= присваивания и

== сравнения:

if ($a==$b)

echo “<BR>Эти величины равны между собой<BR>”;

else echo “<BR>Эти величины не равны между собой<BR>”;

Это правильное сравнение значений двух переменных.

Перепишем это сравнение с ошибкой (интерпретатором не определяется):

if ($a = $b)

echo “<BR>Эти величины равны между собой<BR>”;

else echo “<BR>Эти величины не равны между собой<BR>”;

В этом случае сначала переменной $a будет присвоено значение переменной $b, а потом будет проверено, какое именно значение присвоено. Если это значение отлично от нуля (неложь), то выведется сообщение:








Дата добавления: 2015-04-19; просмотров: 1035;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.017 сек.