/webodası
PHP Dersleri

PHP Dersleri #7: Aritmetik Operatörler

Uzmoon · · 5 dk

Bu derste PHP'de temel aritmetik operatörler (toplama, çıkarma, çarpma, bölme, modül ve üs alma) işlenir. Her operatör çalıştırılabilir kod örnekleriyle anlatılır ve sayısal verilerle matematiksel işlemler yapma becerisi kazandırılır.

Bu Dersin Amacı

PHP'de sayısal veriler üzerinde temel matematiksel işlemleri (toplama, çıkarma, çarpma, bölme, mod alma ve üs alma) gerçekleştirmek için aritmetik operatörleri tanımak ve doğru kullanabilmek.

Aritmetik Operatörler Nedir?

Aritmetik operatörler, iki sayısal değer üzerinde matematiksel bir işlem yaparak yeni bir sayısal değer üreten sembollerdir. PHP, diğer programlama dilleri gibi standart dört işlem operatörlerine ek olarak modül (kalan bulma) ve üs alma operatörlerini de sağlar. Bu operatörler tam sayı (integer) ve ondalıklı sayı (float) veri tipleriyle çalışır.

Temel Dört İşlem Operatörleri

En yaygın kullanılan dört operatör toplama (+), çıkarma (-), çarpma (*) ve bölme (/) işlemleridir. Bölme operatörü her zaman float (ondalıklı) sonuç döndürür; tam sayı bölümü için intdiv() fonksiyonu veya (int) tipi dönüşümü kullanılır.

<?php
// Temel dört işlem operatörleri
$sayi1 = 20;
$sayi2 = 6;

$toplam = $sayi1 + $sayi2;        // 26
$fark   = $sayi1 - $sayi2;        // 14
$carpim = $sayi1 * $sayi2;        // 120
$bolum  = $sayi1 / $sayi2;        // 3.333... (float)
$tamBolum = intdiv($sayi1, $sayi2); // 3 (integer)

printf("Toplam: %d
", $toplam);
printf("Fark: %d
", $fark);
printf("Çarpım: %d
", $carpim);
printf("Bölüm (float): %.2f
", $bolum);
printf("Tam Bölüm (int): %d
", $tamBolum);
?>

Modül Operatörü (%)

Modül operatörü (%), bir sayının başka bir sayıya bölümünden kalanı verir. Sayı çift/tek kontrolü, döngülerde periyodik işlemler veya saat/dakika hesaplamalarında sıkça kullanılır. PHP 8'de negatif sayılar için kalan işareti bölenin işaretini izler (örneğin -5 % 3 sonucu -2 olur).

<?php
// Modül operatörü örnekleri
$sayi = 17;
$bolen = 5;

$kalan = $sayi % $bolen; // 2

printf("%d sayısı %d sayısına bölündüğünde kalan: %d
", $sayi, $bolen, $kalan);

// Çift/tek sayı kontrolü
for ($i = 1; $i <= 5; $i++) {
    if ($i % 2 === 0) {
        printf("%d çifttir
", $i);
    } else {
        printf("%d tektir
", $i);
    }
}
?>

Üs Alma Operatörü (**)

PHP 5.6'dan itibaren eklenen ** operatörü, sol taraftaki sayının (taban) sağ taraftaki sayı (üs) kadar kendiyle çarpılmasını sağlar. pow() fonksiyonu ile aynı işlevi görür ancak operatör kullanımı daha okunabilir ve hızlıdır. Üs negatif veya ondalıklı da olabilir.

<?php
// Üs alma operatörü
$taban = 2;
$us = 10;

$sonuc = $taban ** $us; // 1024
$karekok = 16 ** 0.5;   // 4.0 (float)
$ters = 2 ** -2;        // 0.25

printf("%d üzeri %d = %d
", $taban, $us, $sonuc);
printf("16 üzeri 0.5 = %.1f
", $karekok);
printf("2 üzeri -2 = %.2f
", $ters);

// pow() fonksiyonu ile karşılaştırma
printf("pow(2, 10) = %d
", pow(2, 10));
?>

Operatör Önceliği ve Parantez Kullanımı

Aritmetik ifadelerde operatörler matematiksel öncelik sırasına göre değerlendirilir: önce üs alma (**), sonra çarpma/bölme/modül (*, /, %), en son toplama/çıkarma (+, -). Aynı öncelikteki işlemler soldan sağa (sol-associative) işletilir; tek istisna ** operatörü sağdan sola (right-associative) çalışır. İstenen sırayı garanti altına almak için parantez kullanmak en güvenli yöntemdir.

<?php
// Operatör önceliği örnekleri
$sonuc1 = 10 + 5 * 2;      // 20 (önce çarpma)
$sonuc2 = (10 + 5) * 2;    // 30 (parantez öncelikli)
$sonuc3 = 2 ** 3 ** 2;     // 512 (sağdan sola: 2 ** (3 ** 2) = 2 ** 9)
$sonuc4 = (2 ** 3) ** 2;   // 64  (soldan sağa: (2 ** 3) ** 2 = 8 ** 2)

printf("10 + 5 * 2 = %d
", $sonuc1);
printf("(10 + 5) * 2 = %d
", $sonuc2);
printf("2 ** 3 ** 2 = %d (sağdan sola)
", $sonuc3);
printf("(2 ** 3) ** 2 = %d (parantezli)
", $sonuc4);
?>

Sık Yapılan Hatalar

Alıştırma

Klavyeden girilen (veya kodda sabit tanımlanan) bir sayının küpünü (3. kuvvetini) hesaplayan, sonucu ekrana yazdıran ve sayının çift mi tek mi olduğunu modül operatörüyle belirten bir PHP betiği yazın.

Çözüm

<?php
// Alıştırma çözümü: Sayının küpünü ve tek/çift durumunu bulma
$sayi = 4; // Buraya istediğiniz sayıyı yazabilirsiniz

$kup = $sayi ** 3;
$durum = ($sayi % 2 === 0) ? "çift" : "tek";

printf("Sayı: %d
", $sayi);
printf("Küpü (%d^3): %d
", $sayi, $kup);
printf("Sayı %s bir sayıdır.
", $durum);
?>

Özet

Yazının tamamını ve yorumları sitede aç