Menu
Coddy logo textTech

The Ternary Operator

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

Basit bir koşula göre değer atayan bir if-else'iniz olduğunda, PHP bunu yazmak için daha kısa bir yol sunar: ternary operator.

Sözdizimi, kompakt bir tek satırlık koşullu oluşturmak için ? ve : kullanır:

<?php
$age = 20;

// if-else kullanarak
if ($age >= 18) {
    $status = "adult";
} else {
    $status = "minor";
}

// Üçlü operatör ile aynı şey
$status = $age >= 18 ? "adult" : "minor";

echo $status; // adult
?>

Yapı: condition ? value_if_true : value_if_false.

PHP önce koşulu değerlendirir. Eğer doğruysa, ifade ?'den sonraki değeri döndürür. Yanlışsa, :'den sonraki değeri döndürür.

<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // Başarısız

$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // Tekrar hoş geldin!
?>

Ternary operatör, basit ya-da atamaları için mükemmeldir. Birden fazla koşul içeren daha karmaşık mantık için, daha iyi okunabilirlik adına if-elseif-else ifadeleri kullanın.

challenge icon

Görev

Kolay

Girdiden iki tamsayı okuyun: bir score ve bir passingScore.

Aşağıdakilere göre sonucu belirlemek için üçlü operatörü kullanın:

  • Eğer score passingScore'dan büyük veya eşitse, sonuç Passed olmalıdır
  • Aksi takdirde, sonuç Failed olmalıdır

Sonucu ilk satıra yazdırın.

Sonra, girdiden bir tamsayı quantity okuyun. Kargo mesajını belirlemek için üçlü operatörü kullanın:

  • Eğer quantity 10'dan büyükse, mesaj Free shipping olmalıdır
  • Aksi takdirde, mesaj Standard shipping olmalıdır

Kargo mesajını ikinci satıra yazdırın.

Örnek:

Eğer girdiler 75, 60 ve 15 ise, çıktı şu olmalıdır:

Passed
Free shipping

Eğer girdiler 45, 50 ve 5 ise, çıktı şu olmalıdır:

Failed
Standard shipping

Kopya kağıdı

Ternary operatörü, basit if-else atamalarını tek satırda yazmanın kompakt bir yolunu sağlar.

Sözdizimi şudur: condition ? value_if_true : value_if_false

<?php
$age = 20;

// if-else kullanarak
if ($age >= 18) {
    $status = "adult";
} else {
    $status = "minor";
}

// Ternary operatör ile aynı şey
$status = $age >= 18 ? "adult" : "minor";

echo $status; // adult
?>

PHP önce koşulu değerlendirir. Eğer doğruysa, ? işaretinden sonraki değeri döndürür. Yanlışsa, : işaretinden sonraki değeri döndürür.

<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // Fail

$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // Welcome back!
?>

Ternary operatörü, basit ya-da atamaları için kullanın. Birden fazla koşul içeren karmaşık mantık için, daha iyi okunabilirlik adına if-elseif-else ifadeleri kullanın.

Kendin dene

<?php
// Girişi oku
$score = intval(fgets(STDIN));
$passingScore = intval(fgets(STDIN));
$quantity = intval(fgets(STDIN));

// TODO: Kodunuzu aşağıya yazın
// Üçlü operatörü kullanarak puanın geçip geçmediğini belirleyin


// Üçlü operatörü kullanarak kargo mesajını belirleyin


// Sonuçları çıktı verin
echo $result . "\n";
echo $shippingMessage;
?>
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