В този урок ще научим за PHP операторите. Ние обяснихме всички оператори и техните области на използване в PHP напълно и подробно, с примери.

Знаците или думите, които извършват операции между една или повече стойности, се наричат ​​оператори или оператори. Английската дума за оператор е оператор и е известна като оператор на турски. Някои източници обаче го споменават като оператор. И двете носят едно и също значение.

PHP оператори

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

PHP аритметичните оператори се използват с числови стойности за извършване на общи аритметични операции като събиране, изваждане, умножение.

операторимепример
+Допълнение$a + $b
-Изваждане$a - $b
*Умножение$a * $b
/разделение$a / $b
%Модул (модул)$a % $b

Примери за PHP аритметични оператори

Събираме 2 стойности с оператора за събиране. В този пример използвахме оператора за добавяне на php:

echo 2+4; // Çıktı: 6

Изваждаме една стойност от друга с оператора за изваждане. В този пример използвахме оператора за изваждане на php:

echo 5-2; // Çıktı: 3

Разделяме една стойност на друга стойност с оператора за деление. В този пример използвахме оператора за разделяне на php:

echo 6/2; // Çıktı: 3

Ние умножаваме една стойност по друга стойност с оператора за умножение. В този пример използвахме оператора за умножение на php:

echo 5*2; // Çıktı: 10

С оператора на модул намираме остатъка, когато една стойност се раздели на друга стойност. В този пример използвахме оператора на php модула:

echo 7%2; // Çıktı: 1

PHP оператори за присвояване

PHP операторите за присвояване се използват за присвояване на стойности.

операторимепример
=Възлагане$a = $b
+=Съберете и изхвърлете$a +=4
-=Изваждане и присвояване$a -=4
*=Разделяне и присвояване$a /=4
*=Умножете и присвоете$a *=4
%=Модулиране и присвояване$a%=4

Примери за PHP оператор за присвояване

Присвоихме стойността отдясно на левия операнд с оператора за равенство.

$a = 20;

Присвоихме сумата от лявата и дясната променлива на променливата с оператора за добавяне и присвояване.

$a = 10;
$b = 15; 
$a += $b; // $a değişkeninin değeri 25
// Üst satırdaki ifade ile $a = $a + $b ifadesi aynı.

С оператора за изваждане и присвояване ние присвоихме резултата от изваждането на стойността на променливата отдясно от стойността на променливата отляво на променливата.

$a = 20;
$b = 10; 
$a -= $b; // $a değişkeninin değeri 10
// Üst satırdaki ifade ile $a = $a - $b ifadesi aynı.

С оператора за разделяне и присвояване ние присвоихме на променливата резултата от това колко пъти стойността на променливата отляво може да бъде разделена на стойността на променливата отдясно.

$a = 12;
$b = 4; 
$a /= $b; // $a değişkeninin değeri 3
// Üst satırdaki ifade ile $a = $a / $b ifadesi aynı.

С оператора за умножение и присвояване присвоихме резултата от умножаването на две стойности на променлива на променливата.

$a = 2;
$b = 2; 
$a *= $b; // $a değişkeninin değeri 4
// Üst satırdaki ifade ile $a = $a * $b ifadesi aynı.

Използвайки операторите за модул и присвояване, присвоихме на променливата остатъка, когато стойността на променливата отляво беше разделена на стойността на променливата отдясно.

$a = 8;
$b = 3; 
$a %= $b; // $a değişkeninin değeri 2
// Üst satırdaki ifade ile $a = $a % $b ifadesi aynı.

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

PHP операторите за сравнение се използват за сравняване на две стойности.

операторимепример
==Равен$a == $b
===еквивалент$a === $b
!=Не е равно (не е равно)$a != $b
!==Не е идентичен$a !== $b
<>Не е равно (не е равно)$a <> $b
>По-голямо от$a > $b
<По-малко от$a < $b
>=По-голямо или равно на$a >= $b
<=По-малко или равно на (по-малко или равно на)$a <= $b

PHP примери за оператори за сравнение

Проверихме равенството на две стойности с оператора за равенство.

$a = 4;
$b = 2; 
if ($a == $b) {
    echo "A, B'ye eşittir";
} else {
    echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

Проверихме еквивалентността на две стойности с идентичен оператор.

$a = 4;
$b = '4'; 
if ($a === $b) {
    echo "A, B'ye denktir";
} else {
    echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

Проверихме неравенството на две стойности с оператора not equal.

$a = 4;
$b = 3; 
if ($a != $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Проверихме неравенството на две стойности с неидентичен оператор.

$a = 4;
$b = '4'; 
if ($a !== $b) {
    echo "A, B'ye denk değildir";
} else {
    echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

Проверихме неравенството на две стойности с оператора not equal.

$a = 4;
$b = 2; 
if ($a <> $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Проверихме дали стойността отляво е по-голяма от стойността отдясно с оператора по-голямо от.

$a = 4;
$b = 2; 
if ($a > $b) {
    echo "A, B'den daha büyüktür";
} else {
        echo "A, B'den daha büyük değildir";
}
// Çıktı: A, B'den daha büyüktür

Проверихме дали стойността отляво е по-малка от стойността отдясно с оператора по-малко от.

$a = 2;
$b = 4; 
if ($a &lt $b) {
    echo "A, B'den daha küçüktür";
} else {
        echo "A, B'den daha küçük değildir";
}
// Çıktı: A, B'den daha küçüktür

Проверихме дали стойността отляво е по-голяма или равна на стойността отдясно с оператора по-голямо или равно на.

$a = 4;
$b = 2; 
if ($a >= $b) {
    echo "A, B'den daha büyüktür veya eşittir";
} else {
        echo "A, B'den daha büyük veya eşit değildir";
}
// Çıktı: A, B'den daha büyüktür veya eşittir

Проверихме дали стойността отляво е по-малка или равна на стойността отдясно с оператора по-малко или равно на.

$a = 2;
$b = 4; 
if ($a <= $b) {
    echo "A, B'den daha küçüktür veya eşittir";
} else {
        echo "A, B'den daha küçük veya eşit değildir";
}
// Çıktı: A, B'den daha küçüktür veya eşittir

Оператори за увеличаване/намаляване на PHP

PHP операторите за нарастване се използват за увеличаване на стойността на променлива. PHP операторите за намаляване се използват за намаляване на стойността на променлива.

операториме
++$iУвеличаване преди (предварително увеличение)
$i++След увеличение (пост-инкремент)
--$iНамаляване преди (предварително намаляване)
$i--След намаляване (след намаляване)

PHP инкремент декремент оператор Примери

Операторът за предварително нарастване първо увеличава стойността на променлива $i и след това връща променливата $i.

$i = 10;  
echo ++$i; // Çıktı: 11

След това операторът след нарастване връща променлива $i, след което увеличава стойността на променлива $i.

$i = 10;  
echo $i++; // Çıktı: 10

Операторът за предварително намаляване първо намалява стойността на променлива $i и след това връща променливата $i.

$i = 10;  
echo --$i; // Çıktı: 9

След това операторът след декремент връща променливата $i, след което намалява стойността на променливата $i.

$i = 10;  
echo ++$i; // Çıktı: 10

PHP логически оператори

Логическите оператори на PHP се използват за комбиниране на условни изрази.

операторимепример
клетваи (и)$a и $b
илиили (или)$a или $b
xorxor$a xили $b
&&и (и)$a && $b
||или (или)$a || $b
!не (забележка)$a! $b

Примери за логически оператори на PHP

И операторът (и) връща true, ако условието в $a и $b е изпълнено.

$a = 100;
$b = 50;
if ($a === 100 and $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

Операторът или (или) връща истина, ако условието в $a или $b е изпълнено.

$a = 100;
$b = 50;
if ($a === 100 or $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

И операторът (и) връща true, ако условието в $a и $b е изпълнено.

$a = 100;
$b = 50;
if ($a === 100 && $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

Операторът или (или) връща истина, ако условието в $a или $b е изпълнено.

$a = 100;
$b = 50;
if ($a === 100 || $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

Операторът xor връща true само ако условието в $a или $b е изпълнено.

$a = 100;
$b = 50;
if ($a === 100 xor $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

Операторът not връща true, ако условието в $a не е изпълнено.

$x = 50;
if ($x !== 75) {
    echo "X, 75'e denk değildir";
}
// Çıktı: X, 75'e denk değildir

PHP текстови оператори (низови оператори)

PHP има 2 оператора, предназначени за текстове:
Оператор за конкатенация и оператор за присвояване на конкатенация.

операторимепример
.Оператор за конкатенация$a. $b
.=Оператор за присвояване на конкатенация$a .= $b

Примери за текстови оператори на PHP

Операторът за конкатенация комбинира две данни. В примера по-долу комбинирахме данните от променливите $a и $b и ги отпечатахме.

$a = "Hello ";
$b = " World!";
echo $a . $b;
// Çıktı: Hello World!

Операторът за присвояване на конкатенация добавя вторите данни до първите данни. В примера по-долу добавихме данните на променлива $b до данните на променлива $a и отпечатахме променливата $a.

$a = "Hello ";
$b = " World!";
$a .= $b;
echo $a;
// Çıktı: Hello World!

PHP оператори за масиви

Операторите за масиви в PHP се използват за сравняване на масиви.

операторимепример
+Съюзен оператор (съюз)$a + $b
==Оператор за равенство (равенство)$a == $b
===Оператор за еквивалентност (идентичност)$a === $b
!=Оператор на неравенство (неравенство)$a != $b
<>Оператор на неравенство (неравенство)$a <> $b
!==Оператор на дисбаланс (без идентичност)$a !== $b

Примери за PHP масив оператор

Операторът за обединение комбинира масиви.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
print_r($a + $b);
// Çıktı: Array ( [a] => kırmızı [b] => mavi [c] => yeşil [d] => sarı )

Операторът за равенство (равенство) осигурява контрол на равенството в масиви. Можем да разберем дали данните от два масива са равни или не с оператора за равенство.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a == $b) {
	echo "A, B'ye eşittir";
} else {
	echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

Операторът за идентичност осигурява контрол на равенството в масиви. Можем да разберем дали данните от два масива са еквивалентни с оператора за еквивалентност.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a === $b) {
	echo "A, B'ye denktir";
} else {
	echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

Операторът за неравенство (неравенство) осигурява контрол на неравенството в масиви. Можем да научим, че данните от два масива не са равни с оператора за неравенство.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a != $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Операторът за неравенство (неравенство) осигурява контрол на неравенството в масиви. Можем да научим, че данните от два масива не са равни с оператора за неравенство.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a  $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Операторът без идентичност осигурява контрол без идентичност в масиви. Можем да разберем, че данните от два масива не са еквивалентни с оператора за неравенство.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a !== $b) {
	echo "A, B'ye denk değildir";
} else {
	echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

Оператори за условно присвояване на PHP

Операторите за условно присвояване на PHP се използват за присвояване на стойност въз основа на условия.

операторимепример
?:Тернарен оператор (троичен)$a = израз1? израз2 : израз3
??Оператор за нулево обединяване (нулево обединяване)$a = израз1 ?? израз2

PHP примери за оператор за условно присвояване

Троичният оператор присвоява условни данни. В примера по-долу присвоихме данните „not logged in“ на променливата $status, ако празното ($user) условие връща true, и „logged in“, ако връща false.

// Örnek 1:
$user = "Onur Özden";
echo $status = (empty($user)) ? "giriş yapılmadı" : "giriş yapıldı";
// empty($user) koşulu false ise, $status değişkenine "giriş yapıldı" değerini ata, true ise $status değişkenine "giriş yapılmadı" değerini ata.
// Örnek 2:
$user = "Onur Özden";
echo $status = (empty($user)) ? 0 : 1;
// empty($user) = false ise, $status değişkenine 0 değerini ata, true ise $status değişkenine 1 değerini ata.

Операторът за нулево обединяване присвоява условни данни. Ако първите данни съществуват и не са null, стойността на $a е първите данни. Ако първите данни не съществуват или са нулеви, стойността на $a са вторите данни. В примера по-долу присвоихме данните „not logged in“ на променливата $status, ако празното ($user) условие връща true, и „logged in“, ако връща false.

// $_GET['user'] varsa ve null değilse $user değişkenine değer olarak atanır, $_GET['user'] yoksa veya null ise $user değişkenine "giriş yapılmadı" metni değer olarak tanır. 
echo $user = $_GET['user'] ?? 'giriş yapılmadı';
// Çıktı: giriş yapılmadı
// $car değişkeni varsa ve null değilse $car değişkenine $car değişkeninin değeri atanır, $car değişkeni yoksa veya null ise $car değişkenine 'BMW' değeri atanır. 
echo $color = $color ?? 'BMW';
// Çıktı: BMW

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

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

Както в математиката, операторите в PHP имат някои приоритетни стойности. Нека разберем това с пример.

echo 3 + 5 * 2; // Çıktı: 13

В горния процес резултатът ще бъде 13. Тъй като умножението има приоритет пред събирането. Следователно първо се извършва умножение и след това събиране. Въпреки това е възможно да се намеси в приоритета на обработката.

echo (3 + 5) * 2; // Çıktı: 16

В горния процес резултатът ще бъде 16. Тъй като приоритизирахме процеса на добавяне, като го поставихме в скоби. Следователно първо се извършва събиране, след това умножение. Ето как се намесихме в приоритета на транзакциите.

Таблица с приоритети на операторите

В таблицата по-долу операторите са изброени по ред от най-висок до най-нисък приоритет. Операторите на една и съща линия имат еднакъв приоритет и редът, в който ще бъдат обработени, се решава по време на оценката. По-долу сме включили таблицата с приоритет на всички оператори в PHP.

приписванеоператори
(няма)clone new
(няма)**
отдясно+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
отлявоinstanceof
(няма)!
отляво* / %
отляво+ - .
отляво<< >>
отляво.
без посока< <= > >=
без посока== != === !== <> <=>
наляво&
отляво^
отляво|
отляво&&
отляво||
точно??
без посока? :
отдясно= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(няма)yield from
(няма)yield
(няма)print
отлявоand
отлявоxor
отлявоor

Тази таблица е взета от php.net. източник: https://www.php.net/manual/tr/language.operators.precedence.php