我是Smarty的新手。我想对 smarty 中的数组元素进行 mod 操作。以下是我尝试实现的代码片段:
{if {$que_seq_no}.{$sub_ques_no+1} % 10 == 1}
你能帮我纠正一下吗?提前致谢。
我是Smarty的新手。我想对 smarty 中的数组元素进行 mod 操作。以下是我尝试实现的代码片段:
{if {$que_seq_no}.{$sub_ques_no+1} % 10 == 1}
你能帮我纠正一下吗?提前致谢。
您正在使用可接受的语法进行 mod 操作。我很确定您对变量使用了不正确的语法{$que_seq_no}.{$sub_ques_no+1}
。你试过$que_seq_no[$sub_ques_no+1]
吗?
模运算符 is%
并且也有alternation mod
。
有关 smarty 中公认的限定符的更多信息,请参阅文档:http ://www.smarty.net/docsv2/en/language.function.if
如您所知,您的模运算符是正确的。
从我可以从您的语法中猜到,您可能正在尝试通过数组索引访问数组的值。
要访问数组项,您有 2 种可能性:
$arrayVariable.key
$arrayVariable[index]
索引是一个整数)$que_seq_no[$sub_ques_no+1]
如果您尝试访问对象属性:
它类似于通过数组键访问,但运算符是->
这样的语法是:$objectVariable->propertyName
有关这方面的更多信息,请参阅 smarty 文档:http ://www.smarty.net/docsv2/en/language.variables.tpl
{}
我认为您对(花括号)
的使用感到有些困惑
-它们用于包装整个smarty 表达式-因此这意味着它们不能包含任何其他{
or }
。
取自 smarty docs 的一个漂亮例子是:
{if $name == 'Fred' || $name == 'Wilma'}
...
{/if}