Τι είναι η PHP Null Coalescing; Τι και πώς χρησιμοποιείται; Αυτά θα τα μάθουμε σε αυτό το μάθημα.

Ο τελεστής PHP Null Coalescing εισήχθη στην PHP 7. Ο τελεστής PHP Null Coalescing επιτρέπει την εκχώρηση δεδομένων υπό όρους. Εάν ο πρώτος τελεστής υπάρχει και δεν είναι μηδενικός, επιστρέφει τον πρώτο τελεστή, διαφορετικά επιστρέφει τον δεύτερο τελεστή.

PHP Null Coalescing Παραδείγματα

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

Στο παράδειγμα 1, δεδομένου ότι δεν υπήρχαν δεδομένα ανάρτησης με όνομα, η τιμή nobody εκχωρήθηκε στη μεταβλητή $name και εκτυπώθηκε. Το Παράδειγμα 1 είναι μια συντομευμένη έκδοση των Παραδειγμάτων 1.1 και 1.2 με τον τελεστή PHP Null Coalescing. Και οι δύο επιστρέφουν το ίδιο αποτέλεσμα και έχουν το ίδιο νόημα.

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

Στο Παράδειγμα 2, εφόσον η μεταβλητή $first_name έχει δεδομένα, επέστρεψε τη μεταβλητή στην πρώτη συνθήκη. Ωστόσο, δεδομένου ότι η μεταβλητή $last_name ήταν null, επέστρεψε τον δεύτερο τελεστή στη δεύτερη συνθήκη και τύπωσε την πρόταση "No Surname".

PHP Null Coalescing Operator Chaining

Μπορούμε να χρησιμοποιήσουμε τον τελεστή PHP Null Coalescing αλυσιδώνοντάς τον.

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

Στο Παράδειγμα 3, η PHP εκχωρεί τα δεδομένα $_GET['name'] στη μεταβλητή $name και τα εκτυπώνει εάν έχει οριστεί το $_GET['name']. Εάν δεν έχει οριστεί, ελέγξτε τη μεταβλητή $_POST'name'], εάν έχει οριστεί το $_POST'name'], απορρίπτει και εκτυπώνει, εάν όχι, απορρίπτει και εκτυπώνει τα δεδομένα 'κανένας'. Το Παράδειγμα 3.1 επιστρέφει το ίδιο αποτέλεσμα με το Παράδειγμα 3 και έχει την ίδια σημασία. Το Παράδειγμα 3.1 είναι μια μεγαλύτερη έκδοση του Παραδείγματος 3, κωδικοποιημένη με την υπό όρους δήλωση if-elseif-else. Το Παράδειγμα 3 είναι μια σύντομη έκδοση κωδικοποιημένη με PHP Null Coalescing.