Cos'è il PHP Null Coalescing? Cosa e come viene utilizzato? Li impareremo in questa lezione.

L'operatore PHP Null Coalescing è stato introdotto in PHP 7. L'operatore PHP Null Coalescing consente l'assegnazione dei dati in modo condizionale. Se il primo operando esiste e non è nullo, restituisce il primo operando, altrimenti restituisce il secondo operando.

Esempi di coalescenza null 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

Nell'esempio 1, poiché non c'erano dati di post denominati name, il valore nessuno è stato assegnato alla variabile $name ed è stato stampato. L'Esempio 1 è una versione abbreviata degli Esempi 1.1 e 1.2 con l'operatore PHP Null Coalescing. Entrambi restituiscono lo stesso risultato e hanno lo stesso significato.

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

Nell'esempio 2, poiché la variabile $first_name contiene dati, ha restituito la variabile nella prima condizione. Tuttavia, poiché la variabile $last_name era nulla, restituiva il secondo operando nella seconda condizione e stampava la frase 'Nessun cognome'.

Concatenamento di operatori di coalescenza PHP Null

Possiamo utilizzare l'operatore PHP Null Coalescing concatenandolo.

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

Nell'esempio 3, PHP assegna i dati $_GET['name'] alla variabile $name e lo stampa se $_GET['name'] è definito. Se non è definito, controlla la variabile $_POST'name'], se $_POST'name'] è definito, scarta e stampa, in caso contrario, scarta e stampa i dati 'nobody'. L'Esempio 3.1 restituisce lo stesso risultato dell'Esempio 3 e ha lo stesso significato. L'Esempio 3.1 è una versione più lunga dell'Esempio 3, codificato con l'istruzione condizionale if-elseif-else. L'esempio 3 è una versione breve codificata con PHP Null Coalescing.