我们可以对模板输出使用运算符,包括如下支持。 | 运算符 | 使用示例 | |-----|-----| | `+` | `{$a+$b}` | | `-` | `{$a-$b}` | | `*` | `{$a*$b}` | | `/` | `{$a/$b}` | | `%` | `{$a%$b}` | | `++` | `{$a++}` 或 `{++$a}` | | `--` | `{$a--}` 或` {--$a}` | | 综合运算 | `{$a+$b*10+$c} `| 在使用运算符的时候,不再支持前面提到的函数过滤用法,例如: ~~~ {$user.score+10} //正确的 {$user['score']+10} //正确的 {$user['score']*$user['level']} //正确的 {$user['score']|myFun*10} //错误的 {$user['score']+myFun($user['level'])} //正确的 ~~~ ## 三元运算 模板可以支持三元运算符,例如: ~~~ {$status? '正常' : '错误'} {$info['status']? $info['msg'] : $info['error']} {$info.status? $info.msg : $info.error } ~~~ 还支持如下的写法: ~~~ {$name ?? '默认值'} ~~~ 表示如果有设置`$name`则输出`$name`,否则输出`默认值`。 ~~~ {$name?='默认值'} ~~~ 表示$name为真时才输出默认值。 ~~~ {$name ?: 'NO'} ~~~ 表示如果$name为真则输出$name,否则输出NO。 ~~~ {$a==$b ? 'yes' : 'no'} ~~~ 前面的表达式为真输出yes,否则输出no, 条件可以是==、===、!=、!==、>=、<=