Uso el operador ternario con bastante frecuencia, pero no he podido encontrar nada en la documentación al respecto y siempre me he preguntado.PHP Ternary operator clarification
El siguiente es un ejemplo posible:
echo ($something->message ? $something->message : 'no message');
como se puede ver, si $ algo-> mensaje es correcto, volvemos $ algo-> mensaje, pero ¿por qué escribir dos veces? ¿Hay una manera de hacer algo como:
echo ($something->message ? this : 'no message');
Ahora no estoy muy versado en la teoría de la programación, por lo que es posible que exista una razón que el primero no puede hacer referencia a algo como "este", pero ¿Por qué no? ¿Esta línea no fluiría el uso del operador ternario? Para algo así como mi ejemplo es bastante inútil, pero digamos que es
echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');
Soy incapaz de encontrar ninguna manera para hacer esto, así que estoy asumiendo que no es posible, si estoy equivocado, por favor informe yo, de lo contrario: ¿por qué no? ¿Por qué esto no es posible, cuál es el motivo técnico, o es algo que nunca sucedió? ¿Debo declararlo como una variable y luego probar contra esa variable?
posible duplicado de [¿PHP tiene un modismo de asignación predeterminado como perl?] (Http://stackoverflow.com/questions/2958630/does-php-have-a-default-assignment-idiom-like-perl) – outis