PHP 7, un paio di operatori che molti ancora non conoscono…

Ormai PHP 7 è diventato disponibile su qualsiasi piano hosting, ma ancora leggo molto codice old-style. Ora, tralasciando tutto il resto (non sono qui a fare corsi di programmazione) volevo parlarvi di un paio di operatori che risultano molto ultili:

  1. spaceship operator
  2. null coalescing operator

Lo spaceship operator permette di sapere al volo se due valori sono uguali o quale dei due è più grande. Ad esempio:

// restituisce 0
$a = 3;
$b = 3;
echo $a <=> $b;

// restituisce 1
$a = 5;
$b = 3;
echo $a <=> $b;

// restituisce -1
$a = 3;
$b = 5;
echo $a <=> $b;

In pratica viene restituito 0 se i due valori sono uguali, 1 se quello di sinistra è maggiore e -1 se quello di destra è maggiore.

Il null coalescing operator invece permette di prendere il valore di una variabile se diversa da NULL, altrimenti prendere il valore della seconda variabile, ad esempio:

// così $x diventa uguale a $z, perché $x non è dichiarata
$z= 5;
$x = $x ?? $z;

// così $x resta invariata
$x= 3;
$z= 5;
$x = $x ?? $z;

Il null coalescing operator assomiglia un po’ all’Elvis operator, che si scrive ?:, solo che il primo fa anche un isset() e non produce errori nel caso la variabile non sia definita. Ad esempio:

// così viene restituito un messaggio di errore per "Undefined variable", perché $x non è definita
$z= 5;
$x = $x ?: $z;

// così $x diventa uguale a $z
$x= null;
$z= 5;
$x = $x ?: $z;

// così $x resta invariata
$x= 3;
$z= 5;
$x = $x ?: $z;

enjoy!

Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Commenta