PHP'de İşleç (Operatör)
Bu yazıda PHP programlama dilinin kullandığı operatörleri anlatacağım. Programlama dillerinde kullanılan operatör ve operand kavramları hakkında bilgi sahibi değilseniz öncelikle Programlama'da İşleç (Operatör) isimli yazıyı okumanızı tavsiye ederim.
PHP'de kullanılan operatörler yaptıkları işlevlere göre gruplandırılmıştır.
- Bit işlem operatörleri
- Mantıksal operatörler
- Aritmetik operatörler
- Dize/String operatörü
- Atama operatörleri
- Karşılaştırma operatörleri
- Dizi operatörleri
- Arttırım ve Eksiltim operatörleri
- Çalıştırma operatörü
Operatörler iç içe ya da aynı anda kullanılacakları zaman, yazılımsal olarak her operatör için önceden atanmış olan bir işlem önceliği sırası bulunmaktadır.
Bit İşlem Operatörleri
Bit işlem operatörleri, bitwise (bit düzeyi) alanında, mantıksal işlemler gerçekleştirmek için kullanılır. Bit işlem operatörleri iki operand alır ve her iki operand birbirleri ile karşılaştırılır. Bir işlem operatörlerinin operandlarında muhakkak numerik veri türünde içerikler olmalıdır. Bit işlemleri hakkında bilgi edinmek için Programlama'da Bit İşlemleri başlıklı yazımı okuyabilirsiniz.
| Operatör | Tanım | Açıklama |
& | Bitsel VE | Operandların sayısal değerlerinin bitsel şablonları üzerinde karşılıklı olarak bitsel karşılaştırma için kullanılır. Bitsel ve işlemi karşılaştırılmasında her bit için karşılaştırma ayrı ayrı olacak şekilde sağlanır. 1 ile 0 değeri karşılaştırmasında 0; 1 ile 1 değeri karşılaştırmasında 1; 0 ve 0 değeri karşılaştırmasında 0 değerleri döner. |
| | Bitsel VEYA | Operandların sayısal değerlerinin bitsel şablonları üzerinde karşılıklı olarak bitsel karşılaştırma için kullanılır. Bitsel veya işlemi karşılaştırmasında her bit için karşılaştırma ayrı ayrı olacak şekilde sağlanır. 1 ile 0 değeri karşılaştırılmasında 1; 1 ile 1 değeri karşılaştırmasında 1; 0 ile 0 karşılaştırmasında 0 değeri döner. |
^ | Bitsel ayrıcalıklı VEYA | Operandların sayısal değerlerinin bitsel şablonları üzerinde karşılıklı olarak bitsel karşılaştırma için kullanılır. Bitsel ayrıcalıklı veya işlemi karşılaştırmasında her bit için karşılaştırma ayrı ayrı olacak şekilde sağlanır. 1 ile 0 değeri karşılaştırılmasında 1; 1 ile 1 değeri karşılaştırmasında 0; 0 ile 0 karşılaştırmasında 0 değerleri döner. |
~ | Bitsel DEĞİL | Eklendiği operandın sayısal değerin bitsel şablonu üzerinde bitsel değerin mantıksal olarak ters değerini döndürür. Bitsel değil işlemi, her bit için ayrı ayrı olacak şekilde işlem yapar. 1 değeri karşılaştırılmasında 0, 0 değeri karşılaştırılmasında 1 değerleri döner. |
<< | Bitsel sola kaydırma | İlk operandın sayısal değerinin bitsel şablonu üzerinde ikinci operand ile belirlenecek değer kadar sola kaydırma işlemi yapar. İşaret biti değişmez. Dolayısı ile negatif bir sayıda alabilir. Sola kaydırma işleminden sonra ikinci operand ile belirlenmiş değer kadar ilk operand değerinin sağına 0 ekler. |
>> | Bitsel sağa kaydırma | İlk operandın sayısal değerinin bitsel şablonu üzerinde ikinci operand ile belirlenecek değer kadar sağa kaydırma işlemi yapar. İşaret biti değişmez. Dolayısı ile negatif bir sayıda alabilir. Sağa kaydırma işleminden sonra ikinci operand ile belirlenmiş değer kadar ilk operand değerinin soluna 0 ekler. |
& Bitsel VE
| $a | 00010110 | 22 |
| $b | 00000011 | 3 |
| İşlem | $a & $b | |
| Sonuç | 00000010 | 2 |
| Bitsel VEYA
| $a | 00010110 | 22 |
| $b | 00000011 | 3 |
| İşlem | $a | $b | |
| Sonuç | 00010111 | 23 |
^ Bitsel ayrıcalıklı VEYA
| $a | 00010110 | 22 |
| $b | 00000011 | 3 |
| İşlem | $a ^ $b | |
| Sonuç | 00010101 | 21 |
~ Bitsel DEĞİL
| $a | 00010110 | 22 |
| İşlem | ~$a | |
| Sonuç | 11101001 | 233 |
<< Bitsel Sola Kaydırma
| $a | 00010110 | 22 |
| $b | 3 | |
| İşlem | $a << $b | |
| Sonuç | 10110000 | 176 |
>> Bitsel Sağa Kaydırma
| $a | 00010110 | 22 |
| $b | 3 | |
| İşlem | $a >> $b | |
| Sonuç | 00000010 | 10 |
Bitsel işlem operatörleri genellikle şifreleme ve şifre çözme işlemlerinde kullanılır.
Mantıksal Operatörler
Mantıksal operatörler birden fazla koşuldan oluşan bir yapı oluşturmak için kullanılır. İki veya daha fazla operandın koşulları/şartları değerlendirilir, sonuç boolean (mantıksal) veri türünde geri döndürülür.
| Operatör | Tanım | Açıklama |
and | VE | Dahil edilen tüm operandların true olması gerekir. |
&& | VE | Dahil edilen tüm operandların true olması gerekir. |
or | VEYA | Dahil edilen operandlardan sadece birinin doğru olması yeterlidir. |
|| | VEYA | Dahil edilen operandlardan sadece birinin doğru olması yeterlidir. |
xor | Ayrıcalıklı VEYA | Operandlardan birisi true ise sonuç true, ikisi doğru ise sonuç false olur. |
! | DEĞİL | Önüne eklendiği değerin mantıksal değerini tersine çevirir. |
Aritmetik Operatörler
Matematiksel işlemleri gerçekleştirmek için kullanılırlar.
| Operatör | Tanım |
- | İki farklı kullanımı vardır. Bir operand öncesine eklenirse olumsuzlama yapar. İki operand arasında ise çıkarma işlemi gerçekleştirir |
+ | İki farklı kullanımı vardır. Bir operand öncesine eklenirse int veya float'a dönüştürür. İki operand arasında ise toplama işlemi gerçekleştirir. |
/ | Solundaki operandı sağındaki operanda böler. |
* | Solundaki operandı sağındaki operand ile çarpar. |
% | Solundaki operandın sağındaki operanda bölümünden kalanı verir. |
** | Solundaki operandın sağındaki operand üssünü alır. |
- Olumsuzlama ya da Çıkarma
//Olumsuzlama
$a = -5;
echo -$a; #Output: 5
$b = 6;
echo -$b; #Output: -6
//Çıkarma
echo 10 - 3; #Output: 7
+ Özdeşlik ya da Toplama
//Özdeşlik
$a = 5.0;
echo +$a; #Output: 5
//Toplama
echo 10 + 8; #Output: 18
/ Bölme
echo 20 / 4; #Output: 5
* Çarpma
echo 20 * 4; #Output: 80
% Mod
echo 10 % 3; #Output: 1
echo 21 % 6; #Output: 3
** Üssü
echo 4**2; #Output: 8
echo 8**3; #Output: 512
Dize/String Operatörü
PHP'de dizeler için birleştirme/ekleme işlemi için nokta "." kullanılır.
$world = "Dünya";
echo "Merhaba " . $world . "!";
Atama Operatörleri
Temel atama operatörü "=" simgesidir. Programlamaya yeni başlayanlar bu işleci "eşittir" diye okur ancak yapılan işlem bir şeyleri birbirine eşitlemek değildir. Temel olarak yaptığı sağındaki operandı solundaki operandın değeri haline getirmektir.
Atama operatörleri kendi içerisinde 3 gruba ayrılır;
Aritmetik Atama Operatörleri
Aritmetik işlemleri yaparak değeri solundaki operanda atar.
| Operatör | Tanım | Örnek | Eşdeğeri |
+= | Solundaki operand ile sağındaki operandı toplar ve sonucu solundaki operanda atama yapar. | $a += $b; | $a = $a + $b; |
-= | Solundaki operandan sağındaki operandı çıkarır ve sonucu solundaki operanda atama yapar. | $a -= $b; | $a = $a - $b; |
*= | Solundaki operand ile sağındaki operandı çapar ve sonucu solundaki operanda atama yapar. | $a *= $b; | $a = $a * $b; |
/= | Solundaki operandı ile sağındaki operanda böler ve sonucu solundaki operanda atama yapar. | $a /= $b; | $a = $a / $b; |
%= | Solundaki operandın sağındaki operanda bölümünden kalanı hesaplar ve sonucu solundaki operanda atama yapar. | $a %= $b; | $a = $a % $b; |
**= | Solundaki operandın sağındaki değer ile üssünü hesaplar ve sonucu solundaki operanda atama yapar. | $a **= $b; | $a = $a ** $b; |
Bitsel Atama Operatörleri
Bitsel işlemleri yaparak değeri solundaki operanda atar.
| Operatör | İşlem | Örnek | Eşdeğeri |
&= | Bitsel VE | $a &= $b; | $a = $a & $b |
|= | Bitsel VEYA | $a |= $b; | $a = $a | $b; |
^= | Bitsel ayrıcalıklı VEYA | $a ^= $b; | $a = $a ^ $b; |
<<= | Sola Öteleme | $a <<= $b; | $a = $a << $b; |
>>= | Sağa Öteleme | $a >>= $b; | $a = $a >> $b; |
Diğer Atama Operatörleri
| Operatör | İşlem | Örnek | Eşdeğeri |
.= | Dize/String Birleştirme | $a .= $b; | $a = $a . $b; |
??= | Null Birleştirme | $a ??= $b; | $a = $a ?? $b; |
Karşılaştırma Operatörleri
Karşılaştırma operatörleri solundaki ve sağındaki operandların değerlerini ya da birbirlerine karşı durumunu karşılaştırarak boolean (mantıksal) bir değer döndürür.
| Operatör | İsim | Örnek | Sonuç |
== | Eşittir | $a == $b | Tür dönüşümünden sonra, $a ve $b aynı değere sahipse sonuç true olur. |
=== | Aynıdır | $a === $b | $a ve $b aynı değere sahipse ve türleri de aynıysa sonuç true olur. |
!= | Eşit değildir | $a != $b | Tür dönüşümünden sonra, $a ve $b aynı değere sahip değilse sonuç true olur. |
<> | Eşit değildir | $a <> $b | Tür dönüşümünden sonra, $a ve $b aynı değere sahip değilse sonuç true olur. |
!== | Farklıdır | $a !== $b | $a ve $b aynı değere sahip değilse veya türleri aynı değilse sonuç true olur. |
< | Küçüktür | $a < $b | $a kesin olarak $b'den küçükse sonuç true olur. |
> | Büyüktür | $a > $b | $a kesin olarak $b'den büyükse sonuç true olur. |
<= | Küçük veya eşittir. | $a <= $b | $a, $b'den küçük veya ona eşitse sonuç true olur. |
>= | Büyük veya eşittir. | $a >= $b | $a, $b'den büyük veya ona eşitse sonuç true olur. |
| <=> | Mekik | $a <=> $b | $a küçük, eşit veya büyük $b olduğunda, bir tamsayı da sırasıyla küçük, eşit veya büyük sıfırdır. |
Dizi Operatörleri
Dizi operatörleri dizi türündeki veriler üzerinde kullanılır.
| Operatör | İsim | Örnek | Sonuç |
+ | Birleşim | $a + $b | $a ve $b birleştirilerek $a'ya atanır. |
== | Eşitlik (Karşılaştırma) | $a == $b | $a ve $b aynı anahtar/değer çiftlerine sahipse sonuç doğrudur. |
=== | Aynılık (Karşılaştırma) | $a === $b | $a ve $b aynı anahtar/değer çiftlerine sahipse ve bunların sırası ve türleri aynıysa sonuç doğrudur. |
!= | Eşitsizlik (Karşılaştırma) | $a != $b | $a ve $b birbirine eşit değilse sonuç doğrudur. |
<> | Eşitsizlik (Karşılaştırma) | $a <> $b | $a ve $b birbirine eşit değilse sonuç doğrudur. |
!== | Farklılık (Karşılaştırma) | $a !== $b | $a ve $b aynı dizi değilse sonuç doğrudur. |
Arttırım ve Eksiltim Operatörleri
Bir tam sayıyı 1 arttırmak ya da 1 eksiltmek için kullanılabilecek operatörlerdir. Arttırım çift artı (++), eksiltim çift eksi (--) ile belirtilir. Bunlar bir değişkenin önüne ya da arkasına gelmesine göre farklı işleyişe sahiptir.
| Örnek | İsim | Etkisi |
++$a | Önceden Arttırım | Önce $a değeri 1 arttılır, sonrasında döndürülür. |
$a++ | Sonradan Arttırım | Önce $a döndürülür, sonra değeri 1 arttırılır. |
--$a | Önceden Arttırım | Önce $a değeri 1 eksiltilir, sonrasında döndürülür. |
$a-- | Sonradan Arttırım | Önce $a döndürülür, sonrasında değeri 1 eksiltilir. |
$a = 7;
echo $a++; #Output: 7
echo $a; #Output: 8
$b = 3;
echo ++$b; #Output: 4
$c = 4;
echo $c--; #Output: 4
echo $c; #Output: 3
$d = 5;
echo --$d; #Output: 4
Çalıştırma Operatörü
PHP sadece bir çalıştırma operatörü desteklemektedir. Ters tırnak (``) işareti arasına gelen komut çalıştırılır. Bu sembolün bildiğiniz tek tırnak olmadığına dikkat edin. Bu operatörü çalıştırmak için sunucu üzerinde gerekli yetkilere sahip olmanız ve sunucunuzun buna uygun yapılandırılmış olması gerekir.
$output = `ls -al`;
echo "<pre>$output</pre>";
Yazar
Muhammet Şafak
Yazılım Mühendisi & Full-Stack Geliştirici. PHP, Laravel ve modern web teknolojileri üzerine yazıyor.
HakkımdaYorumlar 0
Henüz yorum yapılmamış.
İlk yorumu siz yapın!
Yorum Yaz
Yorumunuz moderasyon sonrası yayınlanacaktır.