w3schools ternario operador ejemplo php ternary-operator

ejemplo - operador ternario php



¿Por qué mi expresión ternaria no funciona? (4)

El valor de ''falso'' es verdadero. Debes eliminar las comillas

$canMerge = ($condition1 && $condition2) ? true : false;

Intento establecer un indicador para mostrar u ocultar un elemento de página, pero siempre se muestra incluso cuando la expresión es falsa.

$canMerge = ($condition1 && $condition2) ? ''true'' : ''false''; ... <?php if ($canMerge) { ?>Stuff<?php } ?>

¿Que pasa?


Esto está roto porque ''falso'' como una cadena evaluará a verdadero como un booleano.

Sin embargo, esta es una expresión ternaria innecesaria, porque los valores resultantes son simples verdaderos y falsos. Esto sería equivalente:

$canMerge = ($condition1 && $condition2);


Me parece una pregunta razonable, especialmente debido a la discrepancia en la forma en que funciona PHP.

Por ejemplo, el siguiente código generará ''es falso''

$a = ''0''; if($a) { echo ''its true''; } else { echo ''its false''; }


$canMerge = ($condition1 && $condition2);

entonces

if ($canMerge){ echo "Stuff"; }