Was ist PHP Null Coalescing? Was und wie wird es verwendet? Diese werden wir in dieser Lektion lernen.

Der PHP-Null-Coalescing-Operator wurde in PHP 7 eingeführt. Der PHP-Null-Coalescing-Operator ermöglicht die bedingte Zuweisung von Daten. Wenn der erste Operand existiert und nicht null ist, wird der erste Operand zurückgegeben, andernfalls wird der zweite Operand zurückgegeben.

Beispiele für die PHP-Nullkoaleszenz

// Örnek 1: 
echo $name = $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// Örnek 1.1
if (isset($_POST['name'])) {
    echo $name = $_POST['name'];
} else {
    echo $name = 'nobody';
}
// Çıktı: nobody
// Örnek 1.2
echo $name = isset($_POST['name']) ? $_POST['name'] : 'nobody';
// Çıktı: nobody

Da es in Beispiel 1 keine Beitragsdaten mit dem Namen „name“ gab, wurde der Variablen „$name“ der Wert „nobody“ zugewiesen und ausgegeben. Beispiel 1 ist eine verkürzte Version der Beispiele 1.1 und 1.2 mit dem PHP Null Coalescing-Operator. Beide liefern das gleiche Ergebnis und haben die gleiche Bedeutung.

// Örnek 2
$first_name = 'Onur';
$last_name = null;
echo ($first_name ?? 'Ad Yok') . ' ' . ($last_name ?? 'Soyad Yok');?> 
// Çıktı: Onur Soyad Yok

Da in Beispiel 2 die Variable „$first_name“ Daten enthält, wurde die Variable in der ersten Bedingung zurückgegeben. Da die Variable $last_name jedoch null war, gab sie den zweiten Operanden in der zweiten Bedingung zurück und gab den Satz „No Surname“ aus.

PHP-Null-Koaleszenz-Operatorverkettung

Wir können den PHP Null Coalescing-Operator verwenden, indem wir ihn verketten.

// Örnek 3
echo $name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// Örnek 3.1
if (isset($_GET['name'])) {
    echo $name = $_GET['name'];
} elseif (isset($_POST['name'])) {
    echo $name = $_POST['name'];
} else {
    echo $name = 'nobody';
}
// Çıktı: nobody

In Beispiel 3 weist PHP die Daten $_GET['name'] der Variablen $name zu und gibt sie aus, wenn $_GET['name'] definiert ist. Wenn es nicht definiert ist, überprüfen Sie die Variable $_POST'name']. Wenn $_POST'name'] definiert ist, werden die Daten „nobody“ verworfen und gedruckt. Wenn nicht, werden die Daten „nobody“ verworfen und gedruckt. Beispiel 3.1 liefert das gleiche Ergebnis wie Beispiel 3 und hat die gleiche Bedeutung. Beispiel 3.1 ist eine längere Version von Beispiel 3, codiert mit der bedingten Anweisung if-elseif-else. Beispiel 3 ist eine Kurzversion, die mit PHP Null Coalescing codiert ist.