Inicio > PHP > Operador coalescencia nulo

OPERADOR COALESCENCIA NULO

10/02/2016PHP

 

Una de las novedades que trae php 7 es el operador coalescencia nulo.Este operador no es nuevo para algunos programadores ya que se usa en varios lenguajes de programación como C#, perl, entre otros. Y aunque no represente una gran novedad es bastante útil a la hora de ponerlo en práctica ya que representa más o menos similar a la función isset() y creo que es más concreto a la hora de programar.
Veamos un par de ejemplos:


$username = $_GET['user'] ?? 'nobody'; // Equivalente a:
if (isset( $_GET['user'])) {
$username = $_GET['user'];
} else {
$username = 'nobody';
}

El código de ariba es bastante sencillo de entender sino está defenido. Ahora veamos otro ejemplo más completo:

$action= $_POST['action'] ?? $_GET['action'] ?? $defaultAction;
// Equivalente a:
if (isset($_POST['action'])) {
$action = $_POST['action'];
} elseif (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = $defaultAction;
}

En php ya existía el operador ternario, podéis ver un ejemplo aquí. Pero ahora con php 7 resulta más sencillo. Veamos un ejemplo:

$pageTitle = $suppliedTitle ?? 'Default Title';
//Equivale a
$pageTitle = (isset($suppliedTitle) ? $suppliedTitle : 'Default Title');

Espero que con estos ejemplos sencillas haya sido suficiente para ver como funciona.