PHP 7 nos trae muchas sorpresas, entre ellas cabe destacar la aparición de nuevos operadores.
- Spaceship Operator
- Null Coalesce Operator
El primero de los dos es un operador muy útil ya que es una abreviatura de varios existentes. Este operador se codifica como ‘<=>’ también es conocido como operador de comparación combinada.
Si desea comparar $a con $b entonces se puede utilizar como $a <=> $b. Esta expresión devolverá -1 si $a < $b, 0 si $a = $b, y 1 si $b> $a. En otras palabras, podemos considerar este nuevo operador se puede utilizar para en lugar de hacer un ternario como el siguiente:
// Con ternario ($a < $b) ? -1 : (($a > $b) ? 1 : 0) // Con el nuevo operador $a <=> $b
Al igual que el anterior, el operador Null Coalesce también es una forma abreviada otro uso muy común, y el símbolo de este operador es ‘??’. Null Coalesce operador se puede utilizar con una variable y se comprobará si los hubiere valor establecido para esa variable, entonces devolverá el valor ya establecido de lo contrario volverá valor predeterminado que se define. Sería algo como lo siguiente:
// Con el operador ternario $a = isset($b) ? $b : '0'; // Con el nuevo operador $a = $b ?? '0'
Personalmente me gustan los nuevos operadores, permitirán tener un código más limpio en operaciones muy habituales, tanto hechas con ternarios (visto en los ejemplos) o con un if tradicional.