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.
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 shippingKopya 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;
?>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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators