L'operatore null coalescing in PHP

L'operatore null coalescing in PHP (??) è un operatore introdotto in PHP 7 che permette di assegnare un valore predefinito a una variabile se questa è null.
Indice
Sintassi dell'operatore null coalescing
In poche parole, l'operatore null coalescing è simile all'operatore ternario, ma più breve e facile da leggere. La sintassi è la seguente:
$variabile = $valore_da_verificare ?? $valore_predefinito;
Esempio con l'operatore null coalescing
Facciamo un esempio: Vogliamo fare un controllo su delle url ed in particolare vogliamo controllare se ci sono o meno delle query string e riportare il valore 1 se non ci sono query oppure riportare il valore della query se c'è.
Usando l'operatore ternario, avremo :
<?php
// Assegniamo alla variabile $page il valore della variabile $_GET['page'], se esiste. Se non esiste, la variabile $page diamo il valore 1.
$page = isset($_GET['page']) ? $_GET['page'] : 1;
echo $page;
?>
Usando l'operatore null coalescing, avremo :
<?php
// esempio operatore null coalescing
$page = $_GET['page'] ?? 1;
echo $page;
?>
Come possiamo vedere, entrambi le soluzioni sono valide, ma abbreviamo usando l'operatore null coalescing.