Üçlü Operatör
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 30 / 71.
Koşula göre yalnızca bir değer atayan basit bir if-else yapınız olduğunda, PHP bunu yazmanın daha kısa bir yolunu sunar: üçlü operatör.
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!
?>Üçlü işleç, basit ya o ya da atamalar için mükemmeldir. Birden çok koşul içeren daha karmaşık mantık için daha iyi okunabilirlik sağlamak amacıyla if-elseif-else ifadelerini kullanmaya devam edin.
Görev
KolayGirdiden iki tamsayı okuyun: bir score ve bir passingScore.
Aşağıdakilere göre sonucu belirlemek için üçlü operatörü kullanın:
- Eğer
scorepassingScore'dan büyük veya eşitse, sonuçPassedolmalıdır - Aksi takdirde, sonuç
Failedolmalı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
quantity10'dan büyükse, mesajFree shippingolmalıdır - Aksi takdirde, mesaj
Standard shippingolmalı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 shippingEğer girdiler 45, 50 ve 5 ise, çıktı şu olmalıdır:
Failed
Standard shippingKendin 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;
?>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
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma OperatörleriEşitlik ve KimlikMantıksal Operatörler 1. BölümMantıksal Operatörler 2. BölümTekrar - Basit Mantık2Değişkenler ve Veri Türleri
SayılarDizeler ve Tırnak İşaretleriBoolean DeğerleriAdlandırma KurallarıTekrar - Değişken BaşlatmaBoş DeğişkenlerDize BirleştirmeKullanıcı Girdisi AlmaFarklı Türlere Dönüştürme5Koşullu Mantık
If İfadesiIf - ElseÜçlü OperatörNull Coalescing OperatörüSwitch İfadesiTekrar - Karar Verme3Temel Operatörler
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüBirleşik AtamaArtırma/AzaltmaOperatör ÖnceliğiTekrar - Basit HesaplamalarDize OperatörleriKendi başına pratik yap: Online PHP derleyicisi