26
2019.2

三元变量赋值

作者: POPASP
三元变量赋值 通用格式:`{:$varName= contion ? true_value : false_value}` 特殊格式1:`{:$varName= contion ?: true_value :: false_value}` 特殊格式2:`{:$varName= contion ?: true_value : false_value}` 特殊格式3:`{:$varName= contion ? true_value :: false_value}` 特殊格式4:`{:$varName=: contion ? true_value : false_value}` 其他特殊格式…… ### 通用格式 三元变量赋值,是变量赋值的特殊形式。它相当于if条件: ```brush:vb if contion then POP_MVC.tpl_vars("varName") = true_value '或者set POP_MVC.tpl_vars("varName") = true_value else POP_MVC.tpl_vars("varName") = false_value '或者set POP_MVC.tpl_vars("varName") = false_value end if ```` 举例: ```brush:html {:$ret= 2>1 ? "正确" : "错误"} {$ret} '输出"正确" ``` ```brush:html {:$row = B_("content").find} {//从文章数据表中取出一条记录,isTop为数字,标识文章是否为置顶文章} {:$top_label="置顶"} {:$normal_label="一般文章"} {:$isTop = $row.isTop ? $top_label : $normal_label } {$isTop} {//输出:一般文章,因为表里的isTop值为0} ``` {//...}为模板引擎中的单行注释,要认真看明白每行代码的注释。在上例中,$row.isTop、$top_label、$normal_label都进行了必要且正确的替换。有时候我们不希望进行替换时,可以采用特殊格式。 ### 特殊格式1 举例: ```brush:html {:$row2 = B_("content").find} [:$isTop2 = $row2.isTop ?:"置顶文章"::"一般" & "文章"] {//如果前面的分隔符后面加了冒号,表示不进行$变量解析,但是还会像asp那样进行正常的表达式运算。} {//得到“一般文章”} ``` 其他特殊格式可以类比特殊格式1,不再举例。