Операторите приемат една или повече стойности и връщат друга стойност (тази конструкция всъщност е израз). Например, израз е х=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 на скрипта, а после го добавяте.
|
|
Няма коментари:
Публикуване на коментар