15-PHP Operators
Çoğu programlama dilinde olduğu gibi PHP'de de bazı işlemler yapabilmek (matematiksel,karşılaştırma gibi) için operatorler bulunmaktadır. Bu işlemleri yapabilmek için kullanılan operatorler;
- Aritmetik Operatorler
- Karşılaştırma (Comparison) Operatorleri
- Mantıksal (Logical) Operatorleri
- Atama (Assignment) Operatorleri
- String Operatorleri
- Array Operatorleri
-
Conditional (Karşılaştırma) Operatorleri
1. Aritmetik Operatorler
Bu operatorler PHP'de matematiksel işlemleri yapmak için kullanılır.
+
operatorü toplamak için kullanılır.
-
operatörü çıkarmak için kullanılır.
*
operatörü çarpmak için kullanılır.
/
operatörü bölmek için kullanılır.
%
operatörü kalanı bulmak için kullanılır.
++
operatörü arttırma operatörüdür. Yani sayıyı bir arttırmak için kullanılır.
--
operatörü azaltma operatörüdür. Yani sayıyı bir azaltmak için kullanılır.
<?php
$x = 3;
$y = 5;
echo "+ operator : " . ($x + $y) . "<br>";
echo "- operator : " . ($x - $y) . "<br>";
echo "* operator : " . ($x * $y) . "<br>";
echo "/ operator : " . ($x / $y) . "<br>";
echo "% operator : " . ($x % $y) . "<br>";
echo "x yeni değer x++ ";
$x++;// x'i 1 arttırır.Yeni değeri 4 olur.
echo $x . "<br>";
echo "y yeni değer y-- ";
$y--; // y'i 1 azaltır.Yeni değeri 4 olur.
echo $y . "<br>";
/*
ÇIKTI
+ operator : 8
- operator : -2
* operator : 15
/ operator : 0.6
% operator : 3
x yeni değer x++ 4
y yeni değer y-- 4
*/
?>
2. Karşılaştırma Operatorleri
Bu operatorler iki tane değeri karşılaştırmak için kullanılır.Bunun sonucunda bize Boolean türünde değerler dönerler(true yada false şeklinde).
==
operatorü iki tane ifadenin eşit mi değil mi onu kontrol eder.Eüer ki eşitse true değilse false denir.
!=
operatörü iki tane ifadenin eşit olmadığını kontrol eder.Eğer ki eşit değillerse true, eşitlerse false döner.
>
operatörü bir ifadenin diğerinden büyük olup olmadığını kontrol eder.
<
operatörü bir ifadenin diğerinden küçük olup olmadığını kontrol eder.
>=
operatörü bir ifadenin diğerinden büyük veya eşit olup olmadığını kontrol eder.
<=
operatörü bir ifadenin diğerinden küçük veya eşit olup olmadığını kontrol eder.
<?php
$x = 3;
$y = 4;
echo "$x == $y : " . ($x==$y) . "<br>";
echo "$x != $y : " . ($x != $y) . "<br>";
echo "$x > $y : " . ($x>$y) . "<br>";
echo "$x < $y : " . ($x<$y) . "<br>";
echo "$x >= $y : " . ($x>=$y) . "<br>";
echo "$x <= $y : " . ($x<=$y) . "<br>";
/*
ÇIKTI
3 == 4 :
3 != 4 : 1
3 > 4 :
3 < 4 : 1
3 >= 4 :
3 <= 4 : 1
*/
?>
3. Mantıksal (Logical) Operatorleri
Bu operatorlerin ana amacı birden fazla karşılaştırma ifadeleri birleştirmektir. Açıkçası birden fazla karşılaştırılacak ifadeler varsa bunları birleştirecek operatörlerdir.Matematikte gördüğümüz logic (mantık) konusu ile aynıdır.
Genellikle if,switch gibi ifadelerde kullanılır.
and
AND operator olarak bilinir. Karşılaştırılan iki ifade de doğruysa true , sadece birisi yanlış ise sonuç false'dir.
or
OR operator olarak bilinir. Karşılaştırılan iki ifadeden sadece 1'i doğruysa sonuç true, sadece 2'si yanlış ise sonuç false.
&&
yukarıdaki and operatörü ile aynı işlevi yapar.
||
yukarıdaki or operatorü ile aynı işlevi yapar.
!
değil operatorü olarak bilinir.Eğer ki ifade doğruysa yanlış, yanlış ise doğru yapar.
<?php
$x = 3;
$y = 4;
echo "$x && $y : " . ($x && $y) . "<br>";
echo "$x and $y : " . ($x and $y) . "<br>";
echo "$x || $y : " . ($x || $y) . "<br>";
echo "$x or $y : " . ($x or $y) . "<br>";
echo "!0 : " . !0 . "<br>";
/*
ÇIKTI
3 && 4 : 1
3 and 4 : 1
3 || 4 : 1
3 or 4 : 1
!0 : 1
*/
?>
4. Atama (Assignment) Operatorleri
Atama operatorleri, isminden de anlaşılacağı gibi değişkenlere değerler atamak için kullanılır. Daha çok bunlar aritmetik yada diğer operatorlerin kısayoldan nasıl atayabieceğimize yardımcı olan operatorlerdir.
=
Atama operatörüdür.Sağdaki değeri soldaki değişkene atar. x=3 gibi 3 değerini değişkenine atar.
+=
Ekle ve ata operatörüdür. Sağdaki değişkenin değerini sola ekleyip sonucu sol değişkene atar. x+=3 açılımı x= x+3; x değişkenine 3 ekleyip sonucu x değişkenine atar.
-=
Çıkar ve ata operatörüdür. Sağdaki değişkenin değerini soldan çıkarıp sonucu sol değişkene atar. x-=3 açılımı x= x-3; x değişkeninden 3 çıkarıp sonucu x değişkenine atar.
*=
Çarp ve ata operatörüdür. Sağdaki değişkenin değerini soldaki değişken ile çarpıp sonucu sol değişkene atar. x=3 açılımı x= x3; x değişkenini 3 ile çarpıp sonucu x değişkenine atar.
/=
Böl ve ata operatörüdür. Soldaki değişkenin değerini sağdaki değişken ile bölüp sonucu sol değişkene atar. x/=3 açılımı x= x/3; x değişkenini 3 ile bölüp sonucu x değişkenine atar.
%=
Modül al ve ata operatörüdür. Soldaki değişkenin değerini sağdaki değişken ile bölüp kalanı sol değişkene atar. x%=3 açılımı x= x%3; x değişkenini 3 ile bölüp kalan değerini x değişkenine atar.
<?php
$x = 3;
$x += 4; // $x = $x + 4 açılımıdır sonuç 7'dir.
echo "$x += 4 : " . $x . "<br>";
// Yeni sonuç 7'den devam.
$x -= 5; // $x = $x - 5 açılımıdır sonuç 2'dir.
echo "$x -= 5 : " . $x . "<br>";
// Yeni sonuç 2'den devam.
$x *= 9; // $x = $x * 9 açılımıdır sonuç 18'dir.
echo "$x *= 9 : " . $x . "<br>";
// Yeni sonuç 18'den devam.
$x /= 3; // $x = $x / 3 açılımıdır sonuç 6'dır.
echo "$x /= 3 : " . $x . "<br>";
// Yeni sonuç 6'dan devam.
$x %= 2; // $x = $x % 2 açılımıdır sonuç 0'dır.
echo "$x %= 2 : " . $x . "<br>";
/*
ÇIKTI
7 += 4 : 7
2 -= 5 : 2
18 *= 9 : 18
6 /= 3 : 6
0 %= 2 : 0
*/
?>
5. String Operatorleri
String'de kullanılan 2 tane operator vardır:
.
nokta operatorü , bu iki tane string değeri birleştirmek için kullanılır.
.=
atama operatörlerinin benzeridir, sağdaki atanacak değeri soldaki string ile birleştirir ve soldaki değişkene atar.
<?php
$myName = "Minter";
echo "My name is " . $myName . "<br>";
$myName .= " Coder";
echo "My name is " . $myName . "<br>";
/*
ÇIKTI
My name is Minter
My name is Minter Coder
*/
?>
6. Arrays Operatorleri
PHP'de arrayler üzerinde kullanılan bazı operatorler vardır.
+
iki tane array'i birleştirmek için kullanılır.
==
iki tane array içerisindeki key/value değerlerinin hepsinin eşit mi değil mi kontrol eder. Eşitse true,değilse false.
===
iki tane array içerisindeki key/value değerlenin aynı sırada ve aynı tipte mi olup olmadığını kontrol eder.Eşit true,değil false.
!=
iki tane array'in eşit olup olmadığını kontrol eder. Eşit değilse true,eşitse false.
!==
iki tane array'in birbirine benzer olup olmadığını kontrol eder.Benzer değilse true,benzer ise false.
<>
!= ile aynı işlevi görür, diziler farklıysa TRUE, eşitse FALSE döner.
<?php
// Birleştirme (+) Operatorü
$a = array("a" => 1, "b" => 2);
$b = array("b" => 3, "c" => 4);
$result = $a + $b;
print_r($result); echo "<br>";
// Karşılaştırma operatorü (== ve ===)
$array1 = array("a" => 1, "b" => 2);
$array2 = array("b" => 2, "a" => 1);
var_dump($array1 == $array2); echo "<br>";
var_dump($array1 === $array2); echo "<br>";
var_dump($array1 != $array2); echo "<br>";
var_dump($array1 <> $array2); echo "<br>";
var_dump($array1 !== $array2); echo "<br>";
/*
ÇIKTI
Array ( [a] => 1 [b] => 2 [c] => 4 )
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
*/
?>
7. Conditional Operatorleri
Bu operatorde "ternary operator" dediğimiz bir yapıyı kullanacağız. Ternary operator ?: şeklinde kullanılır. SYNTAX
Benim_ifadem_dogru_ise ? soru_isaretinden_sonraki_kisim_calisir : yanlis_ise_iki_noktadan_sonraki_alan_calisir
<?php
$x = 3;
$y = 5;
$sonuc = $x > $y ? $x : $y;
echo "Sonuc : $sonuc"; // Sonuc değeri 5 olacak.
?>
Extra : Null Coalescing Operator
Operatorün gösterim şekli "??". Bir değerin null olup olmadığını kontrol eder ve eğer ki null ise bizim verdiğimiz değeri atar. Örneğin
<?php
$sonuc = $_GET['username'] ?? 'Misafir'; // Eğer ki GET ile aldığımız username değeri null ise Misafir olarak $sonuc'a atar.Null değilse GET ile gelen username değerini sonuc değişkenine atar.
?>
PHP sürümünüz 7'den üst ise bu operator yerine isset() fonksiyonu ile ternary operatorünü kullanabilirsiniz.
<?php
$sonuc = isset($_GET['username']) ? $_GET['username'] : 'Misafir';
?>