PHP programlama dilinde operatörler, değişkenler ve değerler üzerinde işlem yapmak için kullanılan özel sembollerdir. Matematiksel hesaplamalar yapmak, iki değeri karşılaştırmak veya birden fazla koşulu kontrol etmek gibi işlemler operatörler sayesinde gerçekleştirilir.
PHP'de operatörler; aritmetik operatörler, karşılaştırma operatörleri, mantıksal operatörler, atama operatörleri ve artırma-azaltma operatörleri gibi farklı gruplara ayrılır. Her operatör grubu belirli bir işlem türünü gerçekleştirmek için kullanılır.
Bu makalede PHP'de sık kullanılan aritmetik, karşılaştırma ve mantıksal operatörlerin çalışma mantığı örneklerle açıklanacaktır.
PHP Operatörleri Nedir?
Operatörler, bir veya birden fazla değer üzerinde işlem gerçekleştiren yapılardır. PHP'de operatörler genellikle değişkenlerle birlikte kullanılır ve işlem sonucuna göre yeni bir değer elde edilir.
Örneğin, iki sayıyı toplamak için + operatörü, iki değerin birbirine eşit olup olmadığını kontrol etmek için == operatörü kullanılabilir.
Basit bir örnek:
<?php
$sayi1 = 10;
$sayi2 = 5;
$toplam = $sayi1 + $sayi2;
echo $toplam;
?>
Ekran çıktısı:
15
Bu örnekte $sayi1 ve $sayi2 değişkenleri içerisindeki değerler + operatörü kullanılarak toplanır. Elde edilen sonuç $toplam değişkenine aktarılır ve ekrana yazdırılır.
PHP'de en sık kullanılan operatör grupları şunlardır:
- Aritmetik operatörler
- Karşılaştırma operatörleri
- Mantıksal operatörler
- Atama operatörleri
- Artırma ve azaltma operatörleri
- String operatörleri
Şimdi bu operatör gruplarından en temel üç tanesini inceleyelim.
PHP Aritmetik Operatörler
PHP'de aritmetik operatörler, sayısal değerler üzerinde matematiksel işlemler gerçekleştirmek için kullanılır. Toplama, çıkarma, çarpma, bölme ve kalan bulma gibi işlemler bu operatörler aracılığıyla yapılabilir.
Özellikle hesaplama işlemlerinde, sayaç uygulamalarında ve matematiksel işlemler gerektiren programlarda aritmetik operatörlerden sıkça yararlanılır.
PHP'de kullanılan temel aritmetik operatörler şunlardır:
| Operatör |
Açıklama |
Örnek |
| + |
Toplama |
$a + $b |
| - |
Çıkarma |
$a - $b |
| * |
Çarpma |
$a * $b |
| / |
Bölme |
$a / $b |
| % |
Mod alma (kalan bulma) |
$a % $b |
| ** |
Üs alma |
$a ** $b |
Örnek 1: Toplama İşlemi
<?php
$sayi1 = 15;
$sayi2 = 10;
$sonuc = $sayi1 + $sayi2;
echo "Toplam: " . $sonuc;
?>
Ekran çıktısı:
Toplam: 25
Bu örnekte + operatörü kullanılarak iki değişkenin içerisindeki sayısal değerler toplanır. İşlem sonucunda elde edilen 25 değeri $sonuc değişkenine atanır.
Örnek 2: Çıkarma ve Çarpma İşlemi
<?php
$sayi1 = 20;
$sayi2 = 5;
$cikarma = $sayi1 - $sayi2;
$carpma = $sayi1 * $sayi2;
echo "Çıkarma: " . $cikarma . "<br>";
echo "Çarpma: " . $carpma;
?>
Ekran çıktısı:
Çıkarma: 15
Çarpma: 100
Bu örnekte - operatörü iki sayı arasındaki farkı bulurken, * operatörü sayıların çarpımını hesaplar.
Örnek 3: Bölme İşlemi
<?php
$sayi1 = 20;
$sayi2 = 4;
$sonuc = $sayi1 / $sayi2;
echo "Bölme Sonucu: " . $sonuc;
?>
Ekran çıktısı:
Bölme Sonucu: 5
Bölme işlemi için / operatörü kullanılır. Bölme sonucunda tam sayı elde edilmesi zorunlu değildir. Örneğin 10 / 4 işleminin sonucu 2.5 olacaktır.
Örnek 4: Mod Alma İşlemi
<?php
$sayi1 = 17;
$sayi2 = 5;
$sonuc = $sayi1 % $sayi2;
echo "Kalan: " . $sonuc;
?>
Ekran çıktısı:
Kalan: 2
Mod alma işlemi, bir sayının başka bir sayıya bölünmesi sonucunda kalan değeri bulmak için kullanılır. Bu işlem % operatörü ile gerçekleştirilir.
Örneğin bir sayının çift mi yoksa tek mi olduğunu kontrol etmek için mod alma operatöründen yararlanılabilir. Bir sayının 2 ile bölümünden kalan 0 ise sayı çifttir.
Örnek 5: Sayının Çift veya Tek Olduğunu Bulma
<?php
$sayi = 12;
if ($sayi % 2 == 0) {
echo "Sayı çifttir.";
} else {
echo "Sayı tektir.";
}
?>
Ekran çıktısı:
Sayı çifttir.
Bu örnekte sayı 2'ye bölünür ve kalan değer kontrol edilir. Kalan 0 olduğu için ekrana sayının çift olduğu yazdırılır.
Örnek 6: Üs Alma İşlemi
<?php
$taban = 2;
$us = 3;
$sonuc = $taban ** $us;
echo "Sonuç: " . $sonuc;
?>
Ekran çıktısı:
Sonuç: 8
Üs alma işlemi için ** operatörü kullanılır. Bu örnekte 2 sayısının 3. kuvveti hesaplanır. Yani 2 x 2 x 2 işleminin sonucu olan 8 değeri elde edilir.
PHP'de bölme işlemi yapılırken bölen değerin 0 olmamasına dikkat edilmelidir. Sıfıra bölme işlemi geçerli bir matematiksel işlem değildir ve PHP'de DivisionByZeroError hatasına neden olabilir.
PHP Karşılaştırma Operatörleri
PHP'de karşılaştırma operatörleri, iki değerin birbirine eşit, eşit olmadığını, büyük veya küçük olduğunu kontrol etmek için kullanılır.
Karşılaştırma işlemlerinin sonucunda boolean türünde bir değer elde edilir. Bu sonuç TRUE (doğru) veya FALSE (yanlış) olabilir.
Karşılaştırma operatörleri özellikle if-else koşullarında, döngülerde ve kullanıcıdan alınan verilerin kontrol edilmesinde sıkça kullanılır.
PHP'de kullanılan temel karşılaştırma operatörleri şunlardır:
| Operatör |
Açıklama |
Örnek |
| == |
Değerler eşitse TRUE döndürür. |
$a == $b |
| === |
Değerler ve veri türleri aynıysa TRUE döndürür. |
$a === $b |
| != |
Değerler eşit değilse TRUE döndürür. |
$a != $b |
| !== |
Değerler veya veri türleri farklıysa TRUE döndürür. |
$a !== $b |
| > |
Büyüktür. |
$a > $b |
| < |
Küçüktür. |
$a < $b |
| >= |
Büyük veya eşittir. |
$a >= $b |
| <= |
Küçük veya eşittir. |
$a <= $b |
| <=> |
Üç yönlü karşılaştırma yapar. |
$a <=> $b |
Örnek 1: Eşitlik Kontrolü
<?php
$sayi1 = 10;
$sayi2 = 10;
var_dump($sayi1 == $sayi2);
?>
Ekran çıktısı:
bool(true)
Bu örnekte == operatörü kullanılarak iki değişkenin değerleri karşılaştırılır. Değerler birbirine eşit olduğu için sonuç TRUE olur.
Örnek 2: Eşitlik ve Tür Kontrolü
<?php
$sayi1 = 10;
$sayi2 = "10";
var_dump($sayi1 == $sayi2);
var_dump($sayi1 === $sayi2);
?>
Ekran çıktısı:
bool(true)
bool(false)
Bu örnekte iki değişkenin değerleri aynı görünse de veri türleri farklıdır. $sayi1 integer (tam sayı), $sayi2 ise string (metin) türündedir.
== operatörü değerleri karşılaştırırken gerekli durumlarda tür dönüşümü yapabilir. Bu nedenle sonuç TRUE olur.
=== operatörü ise hem değerin hem de veri türünün aynı olmasını bekler. Değişkenlerin türleri farklı olduğu için sonuç FALSE olur.
Bu nedenle PHP'de karşılaştırma yaparken veri türünün de önemli olduğu durumlarda === operatörünün kullanılması önerilir.
Örnek 3: Eşit Olmama Kontrolü
<?php
$sayi1 = 15;
$sayi2 = 10;
var_dump($sayi1 != $sayi2);
?>
Ekran çıktısı:
bool(true)
!= operatörü iki değerin birbirine eşit olup olmadığını kontrol eder. Değerler farklı olduğu için sonuç TRUE olur.
Örnek 4: Büyük ve Küçük Karşılaştırması
<?php
$sayi1 = 20;
$sayi2 = 10;
var_dump($sayi1 > $sayi2);
var_dump($sayi1 < $sayi2);
var_dump($sayi1 >= $sayi2);
var_dump($sayi1 <= $sayi2);
?>
Ekran çıktısı:
bool(true)
bool(false)
bool(true)
bool(false)
Bu örnekte 20 ve 10 sayıları farklı karşılaştırma operatörleriyle kontrol edilir. İlk işlemde 20, 10'dan büyük olduğu için TRUE sonucu elde edilir. Diğer karşılaştırmalar da kendi koşullarına göre değerlendirilir.
Örnek 5: Üç Yönlü Karşılaştırma Operatörü
<?php
$sayi1 = 10;
$sayi2 = 20;
$sonuc = $sayi1 <=> $sayi2;
echo $sonuc;
?>
Ekran çıktısı:
-1
<=> operatörü, iki değeri karşılaştırarak üç farklı sonuçtan birini döndürür:
- İlk değer ikinci değerden küçükse -1 döndürür.
- İki değer birbirine eşitse 0 döndürür.
- İlk değer ikinci değerden büyükse 1 döndürür.
Bu operatör özellikle sıralama işlemlerinde ve karşılaştırma mantığı gerektiren uygulamalarda kullanılabilir.
PHP Mantıksal Operatörler
PHP'de mantıksal operatörler, birden fazla koşulu bir arada değerlendirmek veya bir koşulun sonucunu tersine çevirmek için kullanılır.
Özellikle if-else yapılarında birden fazla şartın kontrol edilmesi gereken durumlarda mantıksal operatörlerden yararlanılır.
Örneğin bir kullanıcının sisteme giriş yapabilmesi için kullanıcı adının ve şifresinin doğru olması istenebilir. Bu durumda iki koşulun da doğru olmasını kontrol etmek için AND operatörü kullanılabilir.
PHP'de kullanılan temel mantıksal operatörler şunlardır:
| Operatör |
Açıklama |
| and |
İki koşul da doğruysa TRUE döndürür. |
| && |
İki koşul da doğruysa TRUE döndürür. |
| or |
Koşullardan en az biri doğruysa TRUE döndürür. |
| || |
Koşullardan en az biri doğruysa TRUE döndürür. |
| xor |
Koşullardan yalnızca biri doğruysa TRUE döndürür. |
| ! |
Mantıksal sonucu tersine çevirir. |
Örnek 1: AND Operatörü
<?php
$yas = 25;
$ehliyet = true;
if ($yas >= 18 && $ehliyet == true) {
echo "Araç kullanabilirsiniz.";
} else {
echo "Araç kullanamazsınız.";
}
?>
Ekran çıktısı:
Araç kullanabilirsiniz.
AND operatörü (&&), iki koşulun da doğru olmasını gerektirir. Bu örnekte kullanıcının yaşı 18 veya daha büyük olmalı ve ehliyet değişkeninin değeri TRUE olmalıdır.
Her iki koşul da doğru olduğu için if bloğundaki kod çalıştırılır.
Örnek 2: OR Operatörü
<?php
$kullaniciAdi = "admin";
$email = "admin@example.com";
if ($kullaniciAdi == "admin" || $email == "admin@example.com") {
echo "Koşullardan en az biri doğru.";
} else {
echo "Hiçbir koşul doğru değil.";
}
?>
Ekran çıktısı:
Koşullardan en az biri doğru.
OR operatörü (||), belirtilen koşullardan en az birinin doğru olması durumunda TRUE sonucunu verir. Her iki koşulun da doğru olması zorunlu değildir.
Örnek 3: NOT Operatörü
<?php
$aktif = false;
if (!$aktif) {
echo "Kullanıcı aktif değil.";
} else {
echo "Kullanıcı aktif.";
}
?>
Ekran çıktısı:
Kullanıcı aktif değil.
NOT operatörü (!) bir mantıksal ifadenin sonucunu tersine çevirir. TRUE değerini FALSE, FALSE değerini ise TRUE haline getirir.
Bu örnekte $aktif değişkeninin değeri FALSE olduğu için !$aktif ifadesinin sonucu TRUE olur ve ilgili if bloğu çalıştırılır.
Örnek 4: XOR Operatörü
<?php
$secenek1 = true;
$secenek2 = false;
if ($secenek1 xor $secenek2) {
echo "Yalnızca bir koşul doğru.";
} else {
echo "Koşullar aynı sonucu veriyor.";
}
?>
Ekran çıktısı:
Yalnızca bir koşul doğru.
XOR operatörü, iki koşuldan yalnızca birinin doğru olması durumunda TRUE sonucunu verir. Her iki koşul doğruysa veya her ikisi de yanlışsa FALSE sonucu elde edilir.
PHP AND ve && Arasındaki Fark
PHP'de hem and hem de && operatörleri mantıksal VE işlemini gerçekleştirir. İki operatörün çalışma mantığı benzer olsa da operatör öncelikleri birbirinden farklıdır.
&& operatörünün önceliği and operatöründen daha yüksektir. Bu durum özellikle atama işlemlerinde farklı sonuçlar ortaya çıkarabilir.
Örnek:
<?php
$sonuc1 = true && false;
$sonuc2 = true and false;
var_dump($sonuc1);
var_dump($sonuc2);
?>
Ekran çıktısı:
bool(false)
bool(true)
Bu örnekte ilk işlemde && operatörünün önceliği nedeniyle karşılaştırma önce gerçekleştirilir ve elde edilen FALSE değeri $sonuc1 değişkenine atanır.
İkinci işlemde ise atama operatörünün önceliği and operatöründen daha yüksek olduğu için önce true değeri $sonuc2 değişkenine atanır. Ardından and işlemi gerçekleştirilir.
Bu nedenle koşullu ifadelerde genellikle && ve || operatörlerinin kullanılması, kodun daha anlaşılır olmasını sağlar.
PHP Mantıksal Operatörlerin Doğruluk Tablosu
Mantıksal operatörlerin sonuçlarını daha kolay anlamak için aşağıdaki doğruluk tabloları incelenebilir.
AND (&&) Operatörü:
| A |
B |
Sonuç |
| TRUE |
TRUE |
TRUE |
| TRUE |
FALSE |
FALSE |
| FALSE |
TRUE |
FALSE |
| FALSE |
FALSE |
FALSE |
OR (||) Operatörü:
| A |
B |
Sonuç |
| TRUE |
TRUE |
TRUE |
| TRUE |
FALSE |
TRUE |
| FALSE |
TRUE |
TRUE |
| FALSE |
FALSE |
FALSE |
XOR Operatörü:
| A |
B |
Sonuç |
| TRUE |
TRUE |
FALSE |
| TRUE |
FALSE |
TRUE |
| FALSE |
TRUE |
TRUE |
| FALSE |
FALSE |
FALSE |
Bu tablolar sayesinde mantıksal operatörlerin hangi durumlarda TRUE veya FALSE sonucu ürettiği kolayca anlaşılabilir.
PHP Operatörleri Birlikte Nasıl Kullanılır?
PHP'de aritmetik, karşılaştırma ve mantıksal operatörler aynı program içerisinde birlikte kullanılabilir. Özellikle koşullu işlemlerde önce matematiksel hesaplama yapılabilir, ardından elde edilen değer karşılaştırılarak bir karar verilebilir.
Örnek: Sınav Notu Kontrolü
<?php
$vize = 70;
$final = 80;
$ortalama = ($vize * 0.4) + ($final * 0.6);
if ($ortalama >= 50 && $final >= 40) {
echo "Öğrenci dersten geçti.";
} else {
echo "Öğrenci dersten kaldı.";
}
echo "<br>Ortalama: " . $ortalama;
?>
Ekran çıktısı:
Öğrenci dersten geçti.
Ortalama: 76
Bu örnekte öncelikle aritmetik operatörler kullanılarak öğrencinin not ortalaması hesaplanır. Daha sonra karşılaştırma operatörleriyle ortalamanın 50 veya üzerinde olup olmadığı ve final notunun 40 veya üzerinde olup olmadığı kontrol edilir.
İki koşulun da doğru olması gerektiği için && mantıksal operatörü kullanılır. Böylece farklı operatör grupları aynı program içerisinde birlikte kullanılmış olur.
PHP Operatörlerinde İşlem Önceliği
PHP'de birden fazla operatör aynı ifade içerisinde kullanıldığında hangi işlemin önce gerçekleştirileceğini belirleyen bir öncelik sırası bulunur. Bu sıralama işlem önceliği olarak adlandırılır.
Örneğin çarpma işlemi toplama işleminden önce gerçekleştirilir. Ancak parantez kullanılarak bu sıralama değiştirilebilir.
Örnek:
<?php
$sonuc1 = 10 + 5 * 2;
$sonuc2 = (10 + 5) * 2;
echo $sonuc1 . "<br>";
echo $sonuc2;
?>
Ekran çıktısı:
20
30
İlk işlemde çarpma işlemi toplama işleminden önce gerçekleştirilir. Bu nedenle sonuç 20 olur.
İkinci işlemde ise parantez içerisindeki toplama işlemi önce yapılır. Daha sonra elde edilen sonuç 2 ile çarpılır ve 30 değeri bulunur.
Özellikle karmaşık koşullarda ve birden fazla operatörün kullanıldığı ifadelerde parantez kullanmak, kodun daha anlaşılır olmasını sağlar.
PHP Operatörleri Hakkında Dikkat Edilmesi Gerekenler
PHP'de operatörleri kullanırken bazı önemli noktalara dikkat edilmelidir:
- Matematiksel işlemler için aritmetik operatörler kullanılır.
- İki değerin eşitliğini kontrol ederken == ve === operatörlerinin farkı bilinmelidir.
- Karşılaştırma operatörleri TRUE veya FALSE sonucu üretir.
- Birden fazla koşulu kontrol etmek için mantıksal operatörlerden yararlanılır.
- AND ve OR operatörlerinin öncelikleri birbirinden farklıdır.
- Bölme işleminde bölen değerin sıfır olmamasına dikkat edilmelidir.
- Karmaşık matematiksel ve mantıksal ifadelerde parantez kullanılması önerilir.
PHP Operatörleri Özet
PHP operatörleri, programlama sırasında matematiksel hesaplamalar yapmak, değerleri karşılaştırmak ve koşullara bağlı işlemleri gerçekleştirmek için kullanılan temel yapılardır.
Aritmetik operatörler sayısal işlemleri gerçekleştirirken, karşılaştırma operatörleri değerler arasındaki ilişkileri kontrol eder. Mantıksal operatörler ise birden fazla koşulun birlikte değerlendirilmesini sağlar.
Bu üç operatör grubu PHP programlamanın temelini oluşturur. Özellikle değişkenler, koşullu ifadeler ve döngüler ile birlikte kullanıldıklarında daha işlevsel ve dinamik uygulamalar geliştirilmesine yardımcı olurlar.
PHP operatörlerinin çalışma mantığını öğrenmek, ilerleyen konularda daha karmaşık programlama işlemlerini anlamayı ve daha doğru kodlar yazmayı kolaylaştırır.