Bu dərsdə biz PHP operatorları ilə tanış olacağıq. PHP-də bütün operatorları və onların istifadə sahələrini nümunələrlə tam və ətraflı izah etdik.

Bir və ya bir neçə dəyər arasında əməliyyatlar yerinə yetirən simvol və ya sözlərə operatorlar və ya operatorlar deyilir. İngilis dilində operator sözü operatordur və türk dilində operator kimi tanınır. Lakin bəzi mənbələr onu operator kimi qeyd edirlər. Hər ikisi eyni məna daşıyır.

PHP Operatorları

PHP Arifmetik Operatorları

PHP arifmetik operatorları toplama, çıxma, vurma kimi ümumi hesab əməliyyatlarını yerinə yetirmək üçün ədədi qiymətlərlə istifadə olunur.

operatoradmisal
+Əlavə$a + $b
-Çıxarma$a - $b
*Vurma$a * $b
/bölmə$a / $b
%Modul (modul)$a % $b

PHP Arifmetik Operator Nümunələri

Əlavə operatoru ilə 2 qiymət əlavə edirik. Bu nümunədə php əlavə operatorundan istifadə etdik:

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

Çıxarma operatoru ilə bir dəyəri digərindən çıxarırıq. Bu nümunədə biz php çıxarma operatorundan istifadə etdik:

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

Bölmə operatoru ilə bir dəyəri digər qiymətə bölürük. Bu nümunədə php split operatorundan istifadə etdik:

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

Vurma operatoru ilə bir dəyəri başqa qiymətə vururuq. Bu nümunədə php vurma operatorundan istifadə etdik:

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

Modul operatoru ilə bir qiymət digər qiymətə bölündükdə qalığı tapırıq. Bu nümunədə php modul operatorundan istifadə etdik:

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

PHP Təyinat Operatorları

PHP təyin operatorları dəyərlər təyin etmək üçün istifadə olunur.

operatoradmisal
=Tapşırıq$a = $b
+=Toplayın və atın$a +=4
-=Çıxar və Təyin et$a -=4
*=Bölün və təyin edin$a /=4
*=Çoxaldın və təyin edin$a *=4
%=Modul və Təyin et$a%=4

PHP Təyinat Operatorunun Nümunələri

Sağdakı dəyəri bərabər operatorla sol operanda təyin etdik.

$a = 20;

Biz əlavə et və təyin operatoru ilə dəyişənə sol və sağ dəyişənlərin cəmini təyin etdik.

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

Subtract and assign operatoru ilə sağdakı dəyişənin qiymətinin soldakı dəyişənin qiymətindən çıxılmasının nəticəsini dəyişənə təyin etdik.

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

Böl və təyin operatoru ilə biz dəyişənə soldakı dəyişənin dəyərinin sağdakı dəyişənin dəyərinə neçə dəfə bölünə biləcəyinin nəticəsini təyin etdik.

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

Çoxalt və təyin operatoru ilə biz dəyişənə iki dəyişən dəyərinin vurulmasının nəticəsini təyin etdik.

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

Moduldan istifadə edərək və operatorları təyin edərək, soldakı dəyişənin dəyəri sağdakı dəyişənin dəyərinə bölündükdə dəyişənə qalığı təyin etdik.

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

PHP Müqayisə Operatorları

PHP müqayisə operatorları iki dəyəri müqayisə etmək üçün istifadə olunur.

operatoradmisal
==bərabər$a == $b
===ekvivalent$a === $b
!=Bərabər deyil (bərabər deyil)$a != $b
!==Eyni deyil$a!== $b
<>Bərabər deyil (bərabər deyil)$a <> $b
>-dən böyükdür$a > $b
<-dən az$a < $b
>=-dən böyük və ya bərabərdir$a >= $b
<=Kiçik və ya bərabər (kiçik və ya bərabər)$a <= $b

PHP Müqayisə Operatorunun Nümunələri

Bərabər operatorla iki dəyərin bərabərliyini yoxladıq.

$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

Eyni operatorla iki dəyərin ekvivalentliyini yoxladıq.

$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

Bərabər olmayan operatorla iki dəyərin bərabərsizliyini yoxladıq.

$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

Eyni olmayan operatorla iki dəyərin bərabərsizliyini yoxladıq.

$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

Bərabər olmayan operatorla iki dəyərin bərabərsizliyini yoxladıq.

$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

Soldakı dəyərin sağdakıdan böyük olub-olmadığını operatordan böyük olanla yoxladıq.

$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

Soldakı dəyərin sağdakı dəyərdən kiçik olub-olmadığını daha kiçik operatorla yoxladıq.

$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

Soldakı dəyərin operatora bərabər və ya böyük olan sağdakı dəyərdən böyük və ya ona bərabər olub olmadığını yoxladıq.

$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

Soldakı dəyərin sağdakı dəyərdən kiçik və ya bərabər olub olmadığını operatorla kiçik və ya bərabər operatorla yoxladıq.

$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 Artırma/Azaltma Operatorları

PHP artım operatorları dəyişənin dəyərini artırmaq üçün istifadə olunur. PHP azalma operatorları dəyişənin dəyərini azaltmaq üçün istifadə olunur.

operatorad
++$iƏvvəlki artım (əvvəlcədən artım)
$i++Artımdan sonra (artırmadan sonra)
--$iƏvvəl azaldın (əvvəlcədən azalma)
$i--Azaldıqdan sonra (azaldıqdan sonra)

PHP Artırma Azaltma Operatorunun Nümunələri

Artımdan əvvəlki operator əvvəlcə $i dəyişəninin dəyərini artırır, sonra isə $i dəyişənini qaytarır.

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

Sonra artımdan sonrakı operator $i dəyişənini qaytarır, sonra $i dəyişəninin dəyərini artırır.

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

Ön azalma operatoru əvvəlcə $i dəyişəninin dəyərini azaldır və sonra $i dəyişənini qaytarır.

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

Sonra azalma sonrası operator $i dəyişənini qaytarır, sonra isə $i dəyişəninin dəyərini azaldır.

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

PHP məntiqi operatorları

PHP məntiqi operatorları şərti ifadələri birləşdirmək üçün istifadə olunur.

operatoradmisal
andvə (və)$a və $b
və yavə ya (və ya)$a və ya $b
xorxor$a xor $b
&&və (və)$a && $b
||və ya (və ya)$a || $b
!yox (qeyd)$a! $b

PHP Məntiqi Operator Nümunələri

Və (və) operatoru $a və $b-dəki şərt yerinə yetirildiyi təqdirdə doğru qaytarır.

$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 və ya $b-də şərt yerinə yetirildikdə və ya (və ya) operatoru doğru qaytarır.

$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

Və (və) operatoru $a və $b-dəki şərt yerinə yetirildiyi təqdirdə doğru qaytarır.

$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 və ya $b-də şərt yerinə yetirildikdə və ya (və ya) operatoru doğru qaytarır.

$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 operatoru yalnız $a və ya $b-dəki şərt yerinə yetirildikdə doğru qaytarır.

$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

$a-dakı şərt yerinə yetirilmədikdə not operatoru true qaytarır.

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

PHP Mətn Operatorları (String Operatorlar)

PHP-də mətnlər üçün nəzərdə tutulmuş 2 operator var:
Birləşdirmə operatoru və birləşdirici təyin operatoru.

operatoradmisal
.Birləşdirmə operatoru$a . $b
.=Birləşdirmə təyin operatoru$a.= $b

PHP mətn operatoru nümunələri

Birləşdirmə operatoru iki verilənləri birləşdirir. Aşağıdakı nümunədə biz $a və $b dəyişənlərinin məlumatlarını birləşdirdik və onları çap etdik.

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

Birləşdirmə təyini operatoru birinci verilənlərin yanına ikinci verilənləri əlavə edir. Aşağıdakı misalda biz $a dəyişəninin məlumatlarının yanına $b dəyişəninin məlumatını əlavə etdik və $a dəyişənini çap etdik.

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

PHP Massivi Operatorları

PHP-də massiv operatorları massivləri müqayisə etmək üçün istifadə olunur.

operatoradmisal
+Birlik operatoru (birlik)$a + $b
==Bərabərlik Operatoru (bərabərlik)$a == $b
===Ekvivalent operatoru (şəxsiyyət)$a === $b
!=Bərabərsizlik operatoru (bərabərsizlik)$a != $b
<>Bərabərsizlik operatoru (bərabərsizlik)$a <> $b
!==Disbalans Operatoru (qeyri-şəxsiyyət)$a!== $b

PHP Massivi Operator Nümunələri

Birlik operatoru massivləri birləşdirir.

$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ı )

Bərabərlik operatoru (bərabərlik) massivlərdə bərabərliyə nəzarəti təmin edir. İki massivin verilənlərinin bərabərlik operatoru ilə bərabər olub olmadığını öyrənə bilərik.

$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

İdentifikasiya operatoru massivlərdə bərabərlik nəzarətini təmin edir. İki massivin verilənlərinin ekvivalent operatoru ilə ekvivalent olub olmadığını öyrənə bilərik.

$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

Bərabərsizlik operatoru (bərabərsizlik) massivlərdə bərabərsizliyə nəzarəti təmin edir. İki massivin verilənlərinin bərabərsizlik operatoru ilə bərabər olmadığını öyrənə bilərik.

$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

Bərabərsizlik operatoru (bərabərsizlik) massivlərdə bərabərsizliyə nəzarəti təmin edir. İki massivin verilənlərinin bərabərsizlik operatoru ilə bərabər olmadığını öyrənə bilərik.

$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

Qeyri-identifikasiya operatoru massivlərdə qeyri-identifikasiya nəzarətini təmin edir. İki massivin verilənlərinin bərabərsizlik operatoru ilə ekvivalent olmadığını öyrənə bilərik.

$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 Şərti Təyinat Operatorları

PHP-nin şərti təyin operatorları şərtlərə əsaslanan qiymət təyin etmək üçün istifadə olunur.

operatoradmisal
?:Üçlü Operator (üçlü)$a = ifadə1 ? ifadə2 : ifadə3
??Null Coalescing Operator (null Coalescing)$a = ifadə1 ?? ifadə2

PHP Şərti Təyinat Operator Nümunələri

Üçlü operator şərti məlumatları təyin edir. Aşağıdakı misalda biz boş($user) şərti doğrudursa, $status dəyişəninə "daxil edilməmiş" məlumatını təyin etdik, yalan olduqda isə "girildi".

// Ö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 birləşdirici operator şərti məlumatları təyin edir. Əgər ilk verilənlər mövcuddursa və null deyilsə, $a dəyəri ilk verilənlərdir. Birinci məlumat yoxdursa və ya sıfırdırsa, $a dəyəri ikinci məlumatdır. Aşağıdakı misalda biz boş($user) şərti doğrudursa, $status dəyişəninə "daxil edilməmiş" məlumatını təyin etdik, yalan olduqda isə "girildi".

// $_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 Operator Prioriteti

Operatorun prioritet nümunələri

Riyaziyyatda olduğu kimi, PHP-də də operatorların bəzi prioritet dəyərləri var. Bunu bir nümunə ilə başa düşək.

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

Yuxarıdakı prosesdə nəticə 13 olacaq. Çünki vurma toplamadan üstündür. Buna görə də əvvəlcə vurma, sonra isə toplama yerinə yetirildi. Bununla belə, emal prioritetinə müdaxilə etmək mümkündür.

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

Yuxarıdakı prosesdə çıxış 16 olacaq. Çünki biz onu mötərizədə yerləşdirərək əlavə etmə prosesinə üstünlük verdik. Buna görə də əvvəlcə toplama, sonra vurma yerinə yetirildi. Tranzaksiya prioritetinə belə müdaxilə etdik.

Operatorların Prioritet Cədvəli

Aşağıdakı cədvəldə operatorlar ən yüksək prioritetdən ən aşağı prioritetə doğru sıralanmışdır. Eyni xətt üzrə operatorlar bərabər prioritetə ​​malikdirlər və onların hansı qaydada idarə olunacağı qiymətləndirmə zamanı qərar verilir. Aşağıda PHP-dəki bütün operatorların üstünlük cədvəlini daxil etdik.

atributoperatorlar
(heç biri)clone new
(heç biri)**
sağdan+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
soldaninstanceof
(heç biri)!
soldan* / %
soldan+ - .
soldan<< >>
soldan.
istiqamətsiz< <= > >=
istiqamətsiz== != === !== <> <=>
sol&
soldan^
soldan|
soldan&&
soldan||
sağ??
istiqamətsiz? :
sağdan= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(heç biri)yield from
(heç biri)yield
(heç biri)print
soldanand
soldanxor
soldanor

Bu cədvəl php.net saytından götürülmüşdür. Mənbə: https://www.php.net/manual/tr/language.operators.precedence.php