Co to jest łączenie wartości zerowych PHP? Co i jak się tego używa? Nauczymy się ich w tej lekcji.

Operator PHP Null Coalescing został wprowadzony w PHP 7. Operator PHP Null Coalescing umożliwia warunkowe przypisywanie danych. Jeśli pierwszy operand istnieje i nie ma wartości null, zwraca pierwszy operand, w przeciwnym razie zwraca drugi operand.

Przykłady łączenia zerowego PHP

// Ö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

W przykładzie 1, ponieważ nie było żadnych danych pocztowych o nazwie nazwa, do zmiennej $nazwa przypisano wartość nikt i została ona wydrukowana. Przykład 1 to skrócona wersja Przykładów 1.1 i 1.2 z operatorem PHP Null Coalescing. Obydwa zwracają ten sam wynik i mają to samo znaczenie.

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

W przykładzie 2, ponieważ zmienna $first_name zawiera dane, zwróciła zmienną w pierwszym warunku. Ponieważ jednak zmienna $last_name miała wartość null, zwróciła drugi operand w drugim warunku i wydrukowała zdanie „Bez nazwiska”.

Łańcuch operatorów łączenia wartości null w PHP

Możemy użyć operatora PHP Null Coalescing, łącząc go.

// Ö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

W przykładzie 3 PHP przypisuje dane $_GET['nazwa'] do zmiennej $name i drukuje je, jeśli zdefiniowano $_GET['nazwa']. Jeśli nie jest zdefiniowana, sprawdź zmienną $_POST'name'], jeśli $_POST'name'] jest zdefiniowana, odrzuca i drukuje, jeśli nie, odrzuca i drukuje dane 'nobody'. Przykład 3.1 zwraca ten sam wynik co Przykład 3 i ma to samo znaczenie. Przykład 3.1 jest dłuższą wersją Przykładu 3, zakodowaną za pomocą instrukcji warunkowej if-elseif-else. Przykład 3 to krótka wersja zakodowana przy użyciu PHP Null Coalescing.