Операторите приемат една или повече стойности и връщат друга стойност (тази конструкция всъщност е израз). Например, израз е х=2+3, където 2 и 3 са стойности (операнди), а знакът + е оператор за събиране. Операторите могат да се групират в зависимост от броя на стойностите, които получават. Унарните оператори приемат само една стойност (! и ++). Бинарните оператори приемат две стойности (+, -). Съществува един единствен третичен оператор „?:”, който приема три стойности и се използва за избор между два израза, зависещи от трети.
За да представим действието на операторите в РНР, ще разгледаме два операнда a и b. Нека стойността на първия операнд е a = 5, а стойността на втория e b = 10.
Аритметични оператори
<?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 и го качете на сървъра. Отворете го в браузъра. Резултатът ще е следния:
Оператори за сравнение
<?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 и го качете на сървъра.
Отворете го в браузъра. Резултатът ще е следния:
Логически оператори
<?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 и го качете на сървъра.
Отворете го в браузъра. Резултатът ще е следния:
Оператори за назначаване на стойност
<?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 и го качете на сървъра.
Отворете го. Резултатът в браузъра ще е следния:
Условен оператор
<?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 и го качете на сървъра.
Отворете го. Резултатът в браузъра ще е следния:
Приоритет на операторите
Как ще се пресметне израза х=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 и го качете на сървъра. Отворете го. Резултатът в браузъра ще е следния:
Математически функции

Оператори за контрол на грешките
Операторът за контрол на грешките в РНР се означава със символа 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 на скрипта, а после го добавяте.


|
Няма коментари:
Публикуване на коментар