Menu
Coddy logo textTech

Operatör Önceliği

Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 20 / 71.

Bir ifade birden fazla işleç içerdiğinde PHP, işleç önceliği adı verilen belirli bir sırayı izler. Tıpkı matematikte olduğu gibi, çarpma ve bölme işlemleri toplama ve çıkarma işlemlerinden önce gerçekleştirilir.

<?php
echo 5 + 3 * 2; // Çıktı: 11, 16 değil
?>

PHP önce 3 × 2’yi çarpar (6 elde eder), ardından 5 ekler. Operatörlerin önceliği eşit olsaydı, soldan sağa hesap yapardı: 5 + 3 = 8, ardından 8 × 2 = 16. Ancak işler böyle yürümez.

Öğrendiğiniz operatörler için en yüksekten en düşüğe öncelik sırası şöyledir:

ÖncelikOperatörler
En yüksek** (üs alma)
Yüksek* / %
Düşük+ -

Varsayılan işlem sırasını geçersiz kılmak için parantezleri kullanın. Parantez içindeki işlemler her zaman önce değerlendirilir:

<?php
echo (5 + 3) * 2;  // Çıktı: 16
echo 2 ** 3 * 2;   // Çıktı: 16 (8 * 2)
echo 2 ** (3 * 2); // Çıktı: 64 (2^6)
?>

Şüpheye düştüğünüzde, niyetinizi açıkça belirtmek için parantezleri kullanın. Bu, kodunuzu okumayı kolaylaştırır ve beklenmedik sonuçları önler.

challenge icon

Görev

Kolay

Girdiden üç sayı okuyun: a, b ve c.

Toplamanın çarpmadan önce gerçekleşmesini sağlamak için parantezleri kullanarak aşağıdaki ifadenin sonucunu hesaplayın ve yazdırın:

(a + b) * c ** 2

Bu şu anlama gelir: önce a ve b sayılarını toplayın, ardından bu toplamı 2. kuvvetine yükseltilmiş c ile çarpın.

Örnek:

Girdiler 2, 3 ve 4 ise çıktı 80 olmalıdır, çünkü:

  • Önce 2 + 3 = 5 işlemini yapın
  • Ardından 4 ** 2 = 16 işlemini hesaplayın
  • Son olarak 5 * 16 = 80 işlemini yapın

Kendin dene

<?php
// Girişi oku
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
$c = intval(fgets(STDIN));

// TODO: (a + b) * c ** 2 hesaplamak için kodunuzu aşağıya yazın

// Sonucu yazdır
echo $result;
?>
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi