Операторите в 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 !

One Reply to “Операторите в PHP”

Вашият коментар