Cuidado con el operador ternario, '?'

Hay un detalle con el operador '?' con el que hay que tener cuidado. Es posible que alguna vez te hayas encontrado con este

$nombre = 'Gorka';
echo "Nombre: " . isset($nombre) ? $nombre : '' . " es mi nombre.\n";

Esto mostrará:

Gorka

Para evitar este problema basta con añadir un paréntesis:

$nombre = 'Gorka';
echo "Mensaje: " . ( isset($nombre) ? $nombre : '' ) . " es mi nombre.\n";

y así ya sale bien:

Mensaje: Gorka es mi nombre.


Tags: PHP


Y ahora descubre uno de los mejores libros de programación orientada a objetos en PHP.

Apúntate para conseguir capítulos de muestra, recibir el boletín y más información sobre los libros.