Webmaster общности: Predpriemach.com | SearchEngines.bg

    Операторите в PHP

    Доста хора май не са наясно с тези оператори , а те не са сложни 🙂
    Вече има един урок доколкото може да се нарече урок..който почти нищо непоказва затова..написах един и аз 🙂
    Операторите са доста използван компонент в програмирането на PHP,дори без тях може да се направи много малко.
    Определението за оператор е всеки символ използван при определена операция върху стойност.
    Нека да започнем с Определителният оператор:
    Той ви позволява да предадете стойност в променлива.
    Можете да предадете стринг,числови стойности,дори и резултати от функций:

    $var = "Здравей!";
    $var = 1;
    $var = funkciq();

    Свързващ оператор:
    Той ви позволява да прикрепите една стойност към друга.

    $var = "Тест";
    $var2 = "Това е ".$var;
    echo $var2; //Връща "Това е Тест"

    Също можете да използвате Определителен свързващ оператор за да свържете стойност със вече съществуваща променлива:

    $var = "Това е ";
    $var .="Тест";
    echo $var; //Връща "Това е Тест"

    Аритметичните (пресмяващи) оператори:
    събиране,изваждане,умножение,делене и модулно делене:

    <?
    $chislo = 10;
    $chislo = $chislo + 1;
    echo $chislo; // Връща 11
    ?>
    <?
    $chislo1 = 10 - 4 / 2;
    $chislo2 = (10 - 4) / 2;
    echo $chislo1."<br />"; // Връша 8
    echo $chislo2; // Връща 3
    ?>

    Има и по кратки версии :
    Пример:

    <?
    $chislo1 += $chislo2; //Също като $chislo1 = $chislo1 + $chislo2;
    $chislo1 -= $chislo2; //Също като $chislo1 = $chislo1 - $chislo2;
    $chislo1 *= $chislo2; //Също като $chislo1 = $chislo1 * $chislo2;
    $chislo1 /= $chislo2; //Също като $chislo1 = $chislo1 / $chislo2;
    $chislo1 %= $chislo2; //Също като $chislo1 = $chislo1 % $chislo2;
    ?>

    Символите може би ще ви се сторят познати..те са същите както ги използваме в математиката.
    Увеличаващи / Намаляващи оператори:

    ++ След-увеличение $var++; Връща $var и тогава я увеличава с 1
    ++ Пред-увеличение ++$var; Увеличава $var с 1 и тогава я връща
    -- След-намаляване $var--; Връща $var и тогава я намаля с 1
    -- Пред-намаляване --$var; Намаля $var с 1 и тогава я връща

    $x++; е същото като $x += 1; което е също като $x = $x + 1;
    Може да ви се стори малко абсурдно , но е така 🙂
    същото е и с намаляващият оператор.
    Пример:

    <?
    $x = 4;
    echo $x++; // Връща 4
    echo $x; // Връща 5
    
    $x = 4;
    echo ++$x; // Връща 5
    echo $x; // Връща 5
    ?>

    Аналогично е и с –$x; и $x–;
    Сравнителни оператори:
    Можете да сравнявате дали дадена стойност е по-голяма,по-малка или равна на друга.За разлика от Аритметичните оператори (който връщат стойност) тук операторите връщат TRUE (вярно) или FALSE (грешно).

    == Равно на $var == $var2 Връша TRUE (вярно) ,ако първата стойност е равна на втората
    != Не е равно на $var != $var2 Връша TRUE (вярно) ,ако първата стойност НЕ е равна на втората
    < По-малко от $var < $var2 Връша TRUE (вярно) ,ако първата стойност е по-малка от втората
    > По-голямо от $var > $var2 Връша TRUE (вярно) ,ако първата стойност е по-голяма от втората
    <= По-малко или равно на $var <= $var2 Връша TRUE (вярно) ,ако първата стойност е по-малка или равна на втората
    >= По-голямо или равно на $var >= $var2 Връша TRUE (вярно) ,ако първата стойност е по-голяма или равна на втората

    == и != също може да се използват и за не числови стойности.Например имате логин скрипт и трябва да сравните паролите:

    <?
    $parolazasravnenie = "parola";
    $vuvedenaparola = "parola";
    if ($parolazasravnenie == $vuvedenaparola) {
    echo "Въведената парола е вярна!";
    }else {
    echo "Въведената парола е грешна!";
    }
    ?>

    Можете да ги размените като ефекта е същия:

    <?
    $parolazasravnenie = "parola";
    $vuvedenaparola = "parola";
    if ($parolazasravnenie != $vuvedenaparola) {
    echo "Въведената парола е грешна!";
    }else {
    echo "Въведената парола е вярна!";
    }
    ?>

    Може би се досещате , че има значение дали въвеждате Parola или parola.
    В PHP4 са добавени още 2 оператора:

    === Идентичен на $var === $var2 Връша TRUE (вярно) ,ако първата стойност е еквивалентна на втората и двете са от един тип
    !== Не е дентичен на $var !== $var2 Връша TRUE (вярно) ,ако първата стойност НЕ е еквивалентна на втората или двете НЕ са от един тип

    Логичеси оператори:
    Как ще стане ако искаме да проверим повече от една стойност дали е true или false?
    Да се върнем на логин скрипта.Искаме да проверим дали И името съвпада.

    <?
    $userzasravnenie = "user";
    $vuvedenuser = "user";
    $parolazasravnenie = "parola";
    $vuvedenaparola = "parola";
    if ($userzasravnenie == $vuvedenuser AND $parolazasravnenie == $vuvedenaparola) {
    echo "Въведените име и парола са верни!";
    } else {
    echo "Въведените име и парола са грешни!";
    }
    ?>

    Оператора „AND“ казва на скрипта , че и двете въведени данни трябва да съвпадат т.е. да върнат TRUE.

    AND "И" $var AND $var2 Връша TRUE (вярно) ,ако И двете стойности са вярни (TRUE)
    OR "ИЛИ" $var OR $var2 Връша TRUE (вярно) ,ако ПОНЕ една от стойностите е вярна (TRUE)
    XOR "ИЛИ" $var XOR $var2 Връша TRUE (вярно) ,ако ПОНЕ една от стойностите е вярна (TRUE), но не И двете
    && "И" $var && $var2 Връша TRUE (вярно) ,ако И двете стойности са вярни (TRUE)
    || "ИЛИ" $var || $var2 Връша TRUE (вярно) ,ако ПОНЕ една от стойностите е вярна (TRUE)
    ! "НЕ Е" !$var Връша TRUE (вярно) ,ако стойноста не е вярна (TRUE) (Също и ако променливата несъществува)
    

    Може би се чудите защо има 2 еднакви оператора за AND и OR.
    Ще разберете по-надолу..
    Прериоритет на операторите:
    Нека да разгледаме следното:
    $x = 6 + 4 * 10
    Понеже четем от ляво на дясно може да си помислите , че това е равно на 100 ( 6 + 4 по 10 )
    Но разади прериотетите на операторите това не е така.
    Оператора за * (умножение) е с по-висок прериоритет от колкото оператора за събиране (+) така , че резултата ще е следния:
    10 по 4 (40) плюс 6 това е равно на 46.
    Ще ви направя една табличка за да видите кои оператор с какъв прериоритет е:
    (Операторите на 1 ред имат еднакъв прериоритет)

    Най-висок:
    * / %
    + - .
    < <= > >=
    &&
    ||
    And
    Xor
    Най-нисък:
    or

    Можете да използвате скоби :
    $x = (6 + 4) * 10
    първо се пресмята в скобите и след това се умножава т.е. това е равно на 100
    Оператор за грешки:
    Много ,често са ме питали @ за какво ..
    ами понякога е много дразнещо примерно когато някой файл несъществува ,а се опитваме да го отворим и излиза гадна грешка и разваля целият дизайн.
    Пример:

    <?
    $file = @file ('nesushtestvuvash_fail') or die ("Файла несъществува");
    ?>

    Така неизкарва гадната дълга грешка , а показва нашият текст за грешката.
    Може да се използва върху include(); което е доста полезно, но няма въздеиствие върху if или foreach
    Мисля , че това е най-важното което трябва да знаете за операторите.

    Урока е писан специално за web-tourist.net !