PHP语法缩短if语句

时间:2017-10-04 07:34:36

标签: php

免责声明:以下是不好的做法(但在非常非常具体的用途中会有用)

有没有办法缩短(以不太好的方式但更短的)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);}

2 个答案:

答案 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无法进行进一步计算!