¿Cuál es una manera más agradable de hacer lo siguiente, que no se llama f() dos veces?Asignación de PHP con un valor predeterminado
$x = f() ? f() : 'default';
¿Cuál es una manera más agradable de hacer lo siguiente, que no se llama f() dos veces?Asignación de PHP con un valor predeterminado
$x = f() ? f() : 'default';
Esto parece funcionar bien:
$x = f() or $x = 'default';
function f()
{
// conditions
return $if_something ? $if_something : 'default';
}
$x = f();
Ah, buena respuesta. Quise que f() fuera algo sobre lo que no tuviéramos control y, de hecho, la forma en que esto surgió para mí no era una función en absoluto, sino '$ _REQUEST ['foo']', por lo que no era una problema de eficiencia tanto como un problema de tipeo. – dreeves
Puede guardarlo en una variable. Caso_prueba:
function test() {
echo 'here';
return 1;
}
$t = test();
$x = $t ? $t : 0;
echo $x;
+1 porque yo no había visto eso antes. ordenado. –
+1 ya que no he visto eso usado en ninguno de mis libros que cubren PHP 5.3. Muy bueno saber – Andrew