El problema con algunos operadores en PHP

Hace unos días, con respecto al artículo sobre Operadores en PHP: <=> (SpaceShip Operator) me preguntaba @mchojrin a ver si lo había usado de verdad. Y lo cierto es que no lo he usado mucho.

Y no lo he usado mucho no porque no sea un operador conveniente sino porque cuesta un poco entender cómo funciona.

A ver, rápidamente, ¿cuál es el resultado de esta operación?

2 <=> 3

Pues el resultado es -1. Entiendo por qué sale ese resultado, pero tengo que hacer un esfuerzo mental. Puede que sea porque no lo uso mucho y no me acostumbro a él. Claro, también puede que solo sea que tengo una mente torpe.

Me pasa algo parecido con el operador Elvis ‘?:’. No acabo de verlo. Igual es porque me resulta feo.

A mí me resulta más claro esto:

$nombre = $miNombre;
if (!$nombre) {
   $nombre = 'Sin nombre';
}

que ésto:

$nombre = $miNombre ?: 'Sin nombre';

Sin embargo, cuando conocí el null coalesce ‘??’ fue amor a primera vista. La de isset($variable) ? $variable : » que ha sustituido en mi código desde que apareció.

¿Te pasa lo mismo?

NOTA: A mí me da que lo que pasa es que me estoy haciendo viejo.

Deja un comentario