РНР оператори

Операторите приемат една или повече стойности и връщат друга стойност (тази конструкция всъщност е израз). Например, израз е х=2+3, където 2 и 3 са стойности (операнди), а знакът + е оператор за събиране. Операторите могат да се групират в зависимост от броя на стойностите, които получават. Унарните оператори приемат само една стойност (! и ++). Бинарните оператори приемат две стойности (+, -). Съществува един единствен третичен оператор „?:”, който приема три стойности и се използва за избор между два израза, зависещи от трети.

За да представим действието на операторите в РНР, ще разгледаме два операнда a и b. Нека стойността на първия операнд е a = 5, а стойността на втория e b = 10.

Аритметични оператори


1_aritmetics_operators.JPG

<?php
//operators_4.php
//Аритметични оператори
    $a = 60;
    $b = 15;
//Събиране   
    $c = $a + $b;
    echo "Резултатът от извършване на операцията събиране е: 
    $c <br/><br/>";
//Изваждане
    $c = $a - $b;
    echo "Резултатът от извършване на операцията изваждане е: 
    $c <br/><br/>";
//Умножение
    $c = $a * $b;
    echo "Резултатът от извършване на операцията умножение е: 
    $c <br/><br/>";
//Деление
    $c = $a / $b;
    echo "Резултатът от извършване на операцията делене е: 
    $c <br/><br/>";
//Остатък от целочислено делене
    $c = $a % $b;
    echo "Резултатът от извършване на операцията остатък 
    от целочислено делене е: $c <br/><br/>";
//Инкрементиране
    $c = $a++; 
    echo "Резултатът от извършване на операцията инкрементиране е: 
    $c <br/><br/>";
//Декрементиране
    $c = $a--; 
    echo "Резултатът от извършване на операцията декрементиране е: 
    $c <br/><br/>";
?>

Въведете скрипта в текстовия редактор. Съхранете файла като operators_4.php и го качете на сървъра. Отворете го в браузъра. Резултатът ще е следния:

operators_4.JPG

Оператори за сравнение


2_comprasion_operators.JPG

<?php
// operators_5.php
//Оператори за сравнение
    $a = 60;
    $b = 15;
//Проверява дали двата операнда са равни
    if( $a == $b ){
       echo "Проверка 1: а е равно на b.<br/><br/>";
    }else{
       echo "Проверка 1: а не е равно на b.<br/><br/>";
    }
//Проверява дали левият операнд е по-голям от десния
    if( $a > $b ){
       echo "Проверка 2 : a е по-голямо от  b.<br/><br/>";
    }else{
       echo "Проверка 2 : a не е по-голямо от b.<br/><br/>";
    }
//Проверява дали левият операнд е по-малък от десния
    if( $a < $b ){
       echo "Проверка 3 : a е по-малко от  b.<br/><br/>";
    }else{
       echo "Проверка 3 : a не е по-малко от b.<br/><br/>";
    }
//Проверява дали стойностите на двата операнда са равни
//и връща истина, ако стойностите не са равни
    if( $a != $b ){
       echo "Проверка 4 : a не е равно на b.<br/><br/>";
    }else{
       echo "Проверка 4 : a е равно на b.<br/><br/>";
    }
//Проверява дали стойността на левия операнд е 
//по-голяма или равна на стойността на десния операнд
    if( $a >= $b ){
       echo "Проверка 5 : a е или по-голямо от b или е равно на 
       b.<br/><br/>";
    }else{
       echo "Проверка 5 : a нито е по-голямо от b, нито е равно 
       на b.<br/><br/>";
    }
//Проверява дали стойността на левия операнд е 
//по-малка или равна на стойността на десния операнд
    if( $a <= $b ){
       echo "Проверка 6 : a е или по-малко от b или е равно 
       на b.<br/><br/>";
    }else{
       echo "Проверка 6 : a нито е по-малко от b, нито е равно 
       на b.<br/><br/>";
    }
?>

Въведете скрипта в текстовия редактор. Съхранете файла като operators_5.php и го качете на сървъра. Отворете го в браузъра. Резултатът ще е следния:

operators_5.JPG

Логически оператори


3_logics_operators.JPG
<?php
// operators_1.php
//Логически оператори
    $a = 28;
    $b = 0;
    
    if( $a && $b ){    //Логическо "И"
       echo "Проверка 1 : И a и b са истина.<br/>";
    }else{
       echo "Проверка 1 : Или a или b е лъжа.<br/>";
    }
    if( $a and $b ){           //Логическо "И"
       echo "Проверка 2 : И a и b са истина.<br/>";
    }else{
       echo "Проверка 2 : Или a или b е лъжа.<br/>";
    }
    if( $a || $b ){            //Логическо "ИЛИ"
       echo "Проверка 3 : Или a или b е истина.<br/>";
    }else{
       echo "Проверка 3 : И a и b са лъжа.<br/>";
    }
    if( $a or $b ){            //Логическо "ИЛИ"
       echo "Проверка 4 : Или a или b е истина.<br/>";
    }else{
       echo "Проверка 4 : И a и b са лъжа.<br/>";
    }
 echo "<br/>";
    $a = 5;
    $b = 10;
    if( $a ){
       echo "Проверка 5 : a е истина.<br/>";
    }else{
       echo "Проверка 5 : a  е лъжа.<br/>";
    }
    if( $b ){
       echo "Проверка 6 : b е истина.<br/>";
    }else{
       echo "Проверка 6 : b  е лъжа.<br/>";
    }
    if( !$a ){
       echo "Проверка 7 : a е истина.<br/>";
    }else{
       echo "Проверка 7 : a  е лъжа.<br/>";
    }
    if( !$b ){
       echo "Проверка 8 : b е истина.<br/>";
    }else{
       echo "Проверка 8 : b  е лъжа.<br/>";
    }
 echo "<br/>";
 echo "\$a =" . "";
 var_dump($a);
 echo "<br/>";
 echo "\$b =" . "";
 var_dump($b);
?>

Въведете скрипта в текстовия редактор. Съхранете файла като operators_1.php и го качете на сървъра. Отворете го в браузъра. Резултатът ще е следния:

operators_1.JPG

Оператори за назначаване на стойност


4_assignment_operators.JPG

<?php
// operators_6.php
//Оператори за назначаване на стойност
    $a = 5;
    $b = 10;
//Обикновен назначаващ оператор, с=15  
    $c = $a + $b;   
    echo "Резултатът от действието на оператора 
 за назначаване е: $c <br/><br/>";
 
//Стойността на с е 15+5=20
    $c += $a;  
    echo "Резултатът от действието на оператора 
 за добавяне и назначаване е: $c <br/><br/>";
 
// Стойността на с е 20-5=15   
 $c -= $a; 
    echo "Резултатът от действието на оператора 
 за изваждане и назначаване е: $c <br/><br/>";
//Стойността на с е 15*5=75
    $c *= $a; 
    echo "Резултатът от действието на оператора 
 за умножение и назначаване е: $c <br/><br/>";
//Стойността на с е 75/5=15
    $c /= $a;  
    echo "Резултатът от действието на оператора 
 за деление и назначаване е: $c <br/><br/>";
//Стойността на с е 15/5=3 и остатък 0 => с=0 
    $c %= $a; 
    echo "Резултатът от действието на оператора остатък от целочислено 
 деление и назначаващ оператор е: $c <br/><br/>";
?>

Въведете скрипта в текстовия редактор. Съхранете файла като operators_6.php и го качете на сървъра. Отворете го. Резултатът в браузъра ще е следния:

operators_6.JPG

Условен оператор


5_condition_operator.JPG

<?php
// operators_3.php
//Условен оператор
    $a = 5;
    $b = 10;
    
    /* Ако условието е истина, назначи „a” към резултата, 
    в противен случай, назначи „b” */

    $result = ($a > $b ) ? $a :$b;
 echo "За израза ($a > $b ) ? $a :$b;" . 
        " " . ":" ." ";
    echo "Резултатът е $result" . "." . 
    "<br/><br/>";

    /* Ако условието е истина, назначи „a” към резултата, 
    в противен случай, назначи „b” */

    $result = ($a < $b ) ? $a :$b;
 echo "За израза ($a < $b ) ? $a :$b;" . 
        " " . ":" ." ";
    echo "Резултатът е $result" . ".";
?>

Въведете скрипта в текстовия редактор. Съхранете файла като operators_3.php и го качете на сървъра. Отворете го. Резултатът в браузъра ще е следния:

operators_3.JPG

Приоритет на операторите

Как ще се пресметне израза х=1+5*3? От математиката знаем, че умножението е математическа операция с по-висок приоритет от събирането. Следователно, при извършване на съответните математически действия, като резултат от пресмятането на израза х=1+ 5*3, ще получим х=16 , а не х=18. Ако нашето желание е да получим 18 като резултат, необходимо е изразът да се запише така: х=(1+5)*3. Първо се осъществява аритметичната операция в скобите. Как се процедира, когато операторите имат равен приоритет? В този случай на помощ идва асоциативността на операторите. Според асоциативността си операторите се делят на ляво асоциативни и дясно асоциативни. При ляво асоциативните оператори изразът се изчислява отляво надясно. При дясно асоциативните е обратно.

<?php
// operators_2.php
//Приоритет и асоциативност
// (3 * 3) % 5 = 4

$a = 3 * 3 % 5; 
echo "Изразът \$a = 3 * 3 % 5 =" . " " . "$a" . "," 
. " " . "защото 9:5=1 с остатък от целочисленото деление- 4." 
. "<br/><br/>"; 

// $a = ($b += 3) -> $a = 5, $b = 5
$a = 1;
$b = 2;
$a = $b += 3;
echo "За израза \$a = \$b += 3, където а=1 и b=2, получаваме:" . "<br/>";
echo "а=" . $a . "<br/>";
echo "b=" . $b;
?>

Въведете кода в текстовия редактор. Съхранете файла като operators_2.php и го качете на сървъра. Отворете го. Резултатът в браузъра ще е следния:

operators_2.JPG

Математически функции


math_functions.png

Оператори за контрол на грешките

Операторът за контрол на грешките в РНР се означава със символа at (@). Поставен пред някакъв израз, който може да предизвика грешка, той предотвратява всички съобщения за грешки, които могат да бъдат генерирани. Прилагайте го много внимателно!

Създайте файл с име handling_errors.php. Въведете следния скрипт:

<!--handling_errors.php-->
<!Doctype html>
<html>
<head>
<title>Оператор за контрол на грешките</title>
<meta http-equiv="Content-Type" content="text/html"; charset="UTF-8">
</head>
<body> 
<?php
$num1 = 0;
$num2 = 2;
echo "Грешка! Действието не може да се осъществи! Неправилно делене на 0!<br>";
// Неправилното делене на 0 ще предизвика грешка
@$div = $num2 / $num1;
?>

</body>
</html>
Тествайте в браузъра като първо премахнете оператора за контрол на грешките (@) от ред 14 на скрипта, а после го добавяте.

handling_errors_1

handling_errors_2.png
sign.png

Няма коментари:

Публикуване на коментар