在条件运算符中执行多个表达式


Execute mulltiple expressions in conditional operator

如何在条件运算符中执行两个或多个表达式,如我尝试过但在php中不起作用的以下表达式:

$test = TRUE;
$val1 = 0;
$val2 = 0;
// want to execute two expressions where true
$test ? $val1 = 23, $val2 = 56 : "";    // this is not working

我曾经在C++中做过这件事,它很有效,但这是php。那么如何在php中完成呢?

您应该简单地使用:

$test ? ($val1 = 23 AND $val2 = 56) : "";

这在PHP的三元运算符中是不可能的。

语法为:

 expr ? expr : expr ;

它不允许每个段有多个表达式。此外,PHP不允许使用逗号分隔的表达式。

无论如何,你的意图将更加明确的if声明:

if ($test) {
  $val1 = 23;
  $val2 = 56;
}