Kategoriler
PHP

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.

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örTanımAçıklama
&Bitsel VEOperandları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 VEYAOperandları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ı VEYAOperandları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ĞİLEklendiğ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

$a0001011022
$b000000113
İşlem$a & $b
Sonuç000000102

| Bitsel VEYA

$a00010110 22
$b00000011 3
İşlem$a | $b
Sonuç0001011123

^ Bitsel ayrıcalıklı VEYA

$a0001011022
$b000000113
İşlem$a ^ $b
Sonuç0001010121

~ Bitsel DEĞİL

$a0001011022
İşlem~$a
Sonuç11101001233

<< Bitsel Sola Kaydırma

$a0001011022
$b3
İşlem$a << $b
Sonuç10110000176

>> Bitsel Sağa Kaydırma

$a0001011022
$b3
İşlem$a >> $b
Sonuç0000001010

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örTanımAçıklama
andVEDahil edilen tüm operandların true olması gerekir.
&&VEDahil edilen tüm operandların true olması gerekir.
orVEYADahil edilen operandlardan sadece birinin doğru olması yeterlidir.
||VEYADahil edilen operandlardan sadece birinin doğru olması yeterlidir.
xorAyrıcalıklı VEYAOperandlardan 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örTanı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örTanımÖrnekEş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ÖrnekEş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ÖrnekEş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ÖrnekSonuç
== Eşittir$a == $bTü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 != $bTür dönüşümünden sonra, $a ve $b aynı değere sahip değilse sonuç true olur.
<> Eşit değildir$a <> $bTü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ÖrnekSonuç
+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İsimEtkisi
++$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

1992 İstanbul doğumluyum. 2008 yılından beri profesyonel olarak PHP geliştiriyorum. Her ne kadar ağırlıklı olarak PHP üzerinde çalışsam da C, C++, Python, Java programlama dillerini de kullanıyorum.

Bir Cevap Yazın