PHP - част 4 (Условни изрази)
fix3d трудност:

видян:
13151
Клаузата
else
Да разгледаме случая, когато искате да изпълните даден код, когато
условието има стойност True. Ако същото условие има стойност False, трябва да се
изпълнят други оператори. В този случай е удобно да се използва клаузата else.
Трябва да имате предвид някои факти за клаузата else.
Клаузата else, може
да се използва само в комбинация с конструкцията if.
Кодът в клаузата else се
изпълнява ,само ако условието в конструкцията if върне стойност False.
Можете
да имате само една клауза else и трябва да бъде на последно място в кода на
блока.
Следващия пример показва използването на клаузата else
<?php
$age = 19;
if ($age < 18)
{
echo "Не сте
пълнолетен, годините ви са по-малко от 18";
// Горния ред няма да бъде
отпечатан
}
else
{
echo "Пълнолетен сте, годините ви са повече от
18";
}
?> |
В горния код на
променливата $age се задава стойност 19 и програмата проверява дали стойността и
е по=малка от 18. Тъй като условието връща стойност False, се изпълнява кодът в
клаузата else. На екранът се появява текстът "Пълнолетен сте, годините ви са
повече от 18".
Клаузата else if
Клаузата else if се използва
заедно с конструкциите if и else. Можете да имате множество клаузи else if
веднага конструкция if, обаче може да има само една клауза else. Клаузата else
if се изпълнява само когато конструкцията if и на всички други клаузи else if са
върнали стойност False.
Всички клаузи else if трябва да са декларирани
след конструкцията if и преди клаузата else на конструкцията.
Например:
<?php
$Num = 50;
if (($Num > 9 ) && ($Num <
100))
{
echo $Num, "e двуцифрено число";
}
elseif ($Num >=
100)
{
echo $Num, "Има три или повече цифри";
}
else
{
echo
$Num, "е едноцифрено число";
}
?> |
В
горния пример на променливата $Num се присвоява стойност 50 и се проверяват
различни условия. Ако стойността на $Num е между 9 и 100, се извежда съобщението
"$Num, e двуцифрено число". Ако стойността е по-голяма от 100, се извежда
съобщението $Num, има три или повече цифри". В противен случай съобщението е
"$Num, e едноцифрено число".
Както отбелязахме по-рано можете да имате
само една клауза else в конструкцията if. Обаче можете да имате множество клаузи
else if в една конструкция if. Това е показано в следващия пример>
<?php
$Num = 50;
if (($Num > 9 ) && ($Num <
100))
{
echo $Num, "e двуцифрено число";
}
elseif (($Num > 99)
&& ($Num < 1000 )
{
echo $Num, "е трицифрено
число";
}
elseif (($Num > 9999) && ($Num <
10000))
{
echo $Num, "е четирицифрено число";
}
elseif ($Num >=
10000)
{
echo $Num, "Има пет или повече цифри";
}
else
{
echo
$Num, "е едноцифрено
число";
}
?> |
Когато се използва
конструкцията if, условията се оценяват от конструкциите if и else if. Когато
обаче се използва конструкцията switch, условието се оценява само веднъж и след
това условието се сравнява със списък от предварително зададени стойности. Всяка
стойност се съхранява в клаузата case. Когато се открие съответна стойност, се
изпълняват командите от съответната клауза case и всички редове след нея. Ако не
се открие съвпадаща стойност, тогава се изпълняват командите от клаузата default
до края на конструкцията или до оператора break.
Ето го и синтаксисът на
конструкцията switch.
switch (променлива)
{
case стойност
1;
оператор;
оператор;
case стойност
2;
оператор;
оператор;
.......
default;
оператор;
оператор;
} |
Изразите
зададени в клаузите case, трябва да са от тип integer, string или
float.
Ето и пример за използване на конструкцията switch
<?php
$val = "first";
switch ( $val )
{
case "first":
echo "Първи случай.";
case "second": echo "Втори случай.";
case "third":
echo "Трети случай.";
case "fourth": echo "Четвърти
случай.";
break;
}
?> |
В горния
пример ако стойността на променливата $val e fourth, ще се изпълни последни
израз. Обаче ако стойността е first, ще се изпълняват всички команди от всички
клаузи case. За да се избегне това трябва да поставите оператора break в края на
всяка клауза case. Оператора break продължава изпълнението на програмата след
конструкцията switch. Можете да препишете горния код по следния начин:
<?php
$val = "first";
switch ( $val )
{
case "first":
echo "Първи случай.";
break;
case "second": echo "Втори
случай.";
break;
case "third": echo "Трети
случай.";
break;
case "fourth": echo "Четвърти
случай.";
break;
}
?> |
Коментари (1)
Махнете празното място между комбинации от знаци като ==, &&, || че да работят примерите ви
При примера където се пише за VarA и VarB, първата променлива е написана с малка първа буква. Трябва да се поправи, иначе примера няма да работи.
Изпусната е една затваряща скоба ) при примера с elseif. Трябва да се добави - иначе кода няма да работи.
В последния пример с for loop има грешка. Вместо Myval е написано Nyval. Поправете го, за да не ви запецне страницата.
Изпусната е една затваряща скоба ) при примера с while
В предпоследните два примера за foreach е объркано името на currval.