Изработка на фирмен сайт

Razberi.info се посещава от около 1000 - 1200 човека дневно. Искате банер в сайта или рекламна статия? Свържете се с нас на webselo.com/services

Условните оператори ни дават възможност да разклоним логиката на нашето приложение в зависимост от това дали дадено условие е изпълнено. Пример:

Имате сайт, в който потребителят трябва да влезе с име и парола.  В зависимост от това дали потребителят е влязъл в системата той трябва да има или да няма достъп до даден ресурс. Тоест ние трябва да имаме възможност някъде в кода да проверим дали този човек се е вписал в системата и в зависимост от това ние да му покажем даден ресурс.

Ако нещо е вярно, става дадено друго нещо. Ако не е вярно, тогава става нещо друго.

 

Операторът If

В първия пример ще разгледаме оператора if с този прост пример:

<?php

$a=true;
if($a==true){
    echo "asjkdhkjashdhsa";
}

?>

В този пример имаме проверката дали булевата стойност на променливата а наистина е true. Ако $a е true в браузъра ще видите текста:

asjkdhkjashdhsa

Нека променим малко кода:

<?php

$a=false;
if($a==true){
    echo "asjkdhkjashdhsa";
}

?>

Заменихме булевата стойност на променливата $a и сложихме false. Сега при изпълнението на кода няма да се вижда нищо, защото условието за показване на текста asjkdhkjashdhsa не е изпълнено. Тоест, за да се покаже текстът asjkdhkjashdhsa, трябва променливата $a задължително да бъде с булева стойност true.

Разликата между = и == в програмирането с PHP

Може би ви направи впечатление, че в двата примера използвахме = и ==. Между тях има разлика. В PHP  =  се използва за присвояване на стойност, а == се използва за сравнение и проверка. Пример:

$test=1; //тук присвоихме стойност 1 на променливата $test;

$tes2t==334;//тук правим сравнение/проверка дали стойността на $test2 е 334;

Каква е логиката на условния оператор If

Да го обясним със следния пример:

<?php

$a=1;
if($a==1)//имаме ключова дума if, която ни казва, че това ще бъде условен оператор и скоби, в които се извършва самото сравнение. Ако проверката в скобите има булева стойност true, тоест дадено условие е изпълнено, тогава ще се изпълни кодът в скобите по-долу.

{
    echo "a ima stoinost 1";
}

?>

Още един пример за условния оператор:

<?php

$a=false;
if($a==true){
    echo "a ima stoinost 1";
}
echo 'test';
?>

Изпробвайте го и вижте какво ще стане. Ще се визуализира само текста test. Това етака, защото PHP вижда, че условието за изпълнението на кода между скобите не е изпълнено. Поради това този код не се изпълнява и PHP го игнорира, и продължава изпълнението на другите неща във файла. Но, ако условието е вярно, ще бъдат визуализирани и двата резултата, тоест така:

<?php

$a=true;
if($a==true){
    echo "a ima stoinost 1";
}
echo 'test';
?>

Тоест в браузъра ще получите това: a ima stoinost 1test; Можете да сложите и един празен ред, за да изглежда по-прегледно:

<?php

$a=true;
if($a==true){
    echo "a ima stoinost 1";
}
echo "<br/>";
echo 'test';
?>

В самите скоби () не винаги е необходимо да извършваме сравнение. В скобите трябва да имаме операция, която връща булев резултат (true или false), но ние можем да си спестим време, ако използваме следния синтаксис:

<?php

$a=true;
if($a){
    echo "a ima stoinost 1";
}
echo "<br/>";
echo 'test';
?>

Разликата с предишния код е това нещо: if($a) . В този пример if операторът ще вземе променливата $а и ще се опита да я прехвърли към булева стойност, която ще се изпълни, ако тази стойност е true.  Вижте какво ще стане, ако направим малка промяна по кода в стойността на променливата $a:

<?php

$a=0;
if($a){
    echo "a ima stoinost 1";
}
echo "<br/>";
echo 'test';
?>

Кодът в скобите няма да се изпълни, защото условието не е изпълнено - $a има стойност, която е 0, а нулата винаги дава false.


 

Допълнително разклоняване на логиката на приложението ни с помощта на if else

Ето как става това на практика:

<?php
$a=0;
if($a){
    echo "tekst1";
}
else{
    echo "tekst2";
}

?>

Имаме две възможности между скобите, всяка от които се изпълнява, ако условието е изпълнено. В случая, ако променливата $a е с булева стойност true, ще се покаже tekst1, но ако това не е така, тогава ще се покаже tekst2.

Това ни дава изключително голяма гъвкавост при изпълняване на приложения, но обърнете внимание, че при конструкцията if else винаги ще се изпълни едното условие, а не и двете, само едното! Няма начин да се изпълнят двете условия едновременно.

Обърнете внимание, че if може да съществува самостоятелно, но не и else.


 

Проверка на повече от едно условие с elseif()

<?php
$a=1;
if($a==1)
{
    echo "stoinostta e edno";
}
elseif($a==2)
{
    echo "stoinostta e dve";
}
elseif($a==3)
{
    echo "stoinostta e tri";
}
?>

Присвояване на променливата $a стойност 1 и правим проверка дали тази стойност е 1. Ако тази стойност е 1, се изпълнява stoinostta e edno, което става в случая.

Изпробвайте сами кода като поставите на мястото на единицата на първия ред числата 2 и 3. Вижте какво ще стане.

Обърнете внимание, че elseif() не може да съществува без if. Трябва да имаме поне един if, за да го използваме.

Изработка на уебсайтове, реклама и поддръжка в социалните мрежи, копирайтинг услуги