免责声明:以下是不好的做法(但在非常非常具体的用途中会有用)
有没有办法缩短(以不太好的方式但更短的)if语句: 而不是:
if(5 == $foo){
$b = 98;
$c = 98 * $otherVariable;
//do something complex
doSomethingElse($b, $c);
}
即使由IDE格式化,此示例也会变短。 它会变成这样的东西(但这不起作用):
(5 == $foo) && { $b = 98;
$c = 98 * $otherVariable;
//do something complex
doSomethingElse($b, $c);}
答案 0 :(得分:3)
我建议您选择更易读的代码,但如果您想要做一些与众不同的事情,您可以通过以下方式查看:
($foo == 5) && doSomethingElse(98, 98*$otherVariable);
OR
PHP三元运算符
($your_boolean) ? 'This is true' : 'This is false';
您可以重写if
语句,如下所示:
($foo == 5) ? doSomethingElse(98, 98*$otherVariable) : "";
// little shorter but not better readable
($foo != 5) ? : doSomethingElse(98, 98*$otherVariable);
测试结果:
$ cat test.php
<?php
function aa(){ echo "123\n"; }
$foo = 5;
// this will not call aa()
($foo == 4) && aa() ;
// this will call aa()
($foo == 5) && aa() ;
?>
$ php test.php
123
答案 1 :(得分:1)
if(5 == $foo) doSomethingElse(98, 98*$otherVariable);
注意!变量$b
和$c
无法进行进一步计算!