Null Coalescing Operator
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 31 / 71.
null birleştirme operatörü (??), bir değişkenin null olması veya mevcut olmaması durumunda varsayılan bir değer kullanmanın pratik bir yolunu sağlar. Bu, eksik olabilecek verilerle çalışırken özellikle kullanışlıdır.
Sözdizimi, kontrol edilecek değişken ile yedek değer arasına ?? yerleştirir:
<?php
$username = null;
$displayName = $username ?? "Guest";
echo $displayName; // Guest
?>PHP, $username'in null olup olmadığını kontrol eder. Öyle olduğu için, operatör bunun yerine "Guest" döndürür. Eğer $username'de bir değer olsaydı, o değer kullanılırdı.
<?php
$username = "Alice";
$displayName = $username ?? "Guest";
echo $displayName; // Alice
?>Null birleştirme operatörü ayrıca bir değişken hiç tanımlanmadığında da çalışır, hata tetiklemeden:
<?php
// $color hiçbir yerde tanımlanmamış
$selectedColor = $color ?? "blue";
echo $selectedColor; // mavi
?>Bu, isset() kontrolleriyle üçlü operatör kullanmaktan ??'yi daha temiz hale getirir. Veri eksik olabileceğinde mantıklı varsayılan değerler sağlamak için mükemmeldir.
Görev
KolayGirişten iki değer okuyun: bir dize nickname ve bir dize theme.
Potansiyel olarak eksik değerleri işlemek için null birleştirme operatörünü kullanın:
null'a ayarlanmış bir$userNicknamedeğişkeni oluşturun. Ardından null birleştirme operatörünü kullanarak$displayNickname'i$userNicknamemevcut ve null değilse onun değeriyle, aksi takdirdenicknamegiriş değeriyle atayın.$userThemeadında bir değişken oluşturun ve onathemegiriş değerini atayın. Null birleştirme operatörünü kullanarak$selectedTheme'i$userThememevcut ve null değilse onun değeriyle, aksi takdirde varsayılan olarakdarkkullanın.- Tanımlanmamış bir değişken
$languageile (onu tanımlamayın) doğrudan null birleştirme operatörünü kullanarak$displayLanguage'i$languagemevcutsa onun değeriyle, aksi takdirde varsayılan olarakEnglishile atayın.
Her sonucu yeni bir satırda şu sırada yazdırın: $displayNickname, $selectedTheme, $displayLanguage.
Örnek:
Eğer girişler Player1 ve light ise, çıktı şu şekilde olmalıdır:
Player1
light
EnglishEğer girişler GuestUser ve blue ise, çıktı şu şekilde olmalıdır:
GuestUser
blue
EnglishKopya kağıdı
Null birleştirme operatörü (??), bir değişken null olduğunda veya mevcut olmadığında varsayılan bir değer sağlar.
Sözdizimi:
$result = $variable ?? "default value";Eğer $variable null ise, varsayılan değer kullanılır:
$username = null;
$displayName = $username ?? "Guest";
echo $displayName; // GuestEğer $variable bir değere sahipse, o değer kullanılır:
$username = "Alice";
$displayName = $username ?? "Guest";
echo $displayName; // AliceOperatör ayrıca hata tetiklemeden tanımlanmamış değişkenlerle de çalışır:
// $color is not defined
$selectedColor = $color ?? "blue";
echo $selectedColor; // blueKendin dene
<?php
// Girdiyi oku
$nickname = trim(fgets(STDIN));
$theme = trim(fgets(STDIN));
// TODO: Kodunuzu aşağıya yazın
// 1. $userNickname'i null olarak oluşturun, ardından ?? kullanarak $displayNickname'e atayın
// 2. Tema girdisiyle $userTheme oluşturun, ardından ?? kullanarak $selectedTheme'e atayın (varsayılan: 'dark')
// 3. Tanımlanmamış $language ile ?? kullanarak $displayLanguage'e atayın (varsayılan: 'English')
// Sonuçları çıktılayın (her biri yeni bir satırda)
echo $displayNickname . "\n";
echo $selectedTheme . "\n";
echo $displayLanguage . "\n";
?>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