前端常用ThinkPHP语法(三)
内置标签总结:
循环输出标签 - FOREACH标签
foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,最简单的用法是:
{foreach $list as $vo}
{$vo.id}:{$vo.name}
{/foreach}
也可以使用下面的用法:
{foreach name="list" item="vo"}
{$vo.id}:{$vo.name}
{/foreach}
name表示数据源 item表示循环变量。
可以输出索引,如下:
{foreach name="list" item="vo" }
{$key}|{$vo}
{/foreach}
也可以定义索引的变量名
{foreach name="list" item="vo" key="k" }
{$k}|{$vo}
{/foreach}
循环输出标签 - FOR标签
用法:
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt,name的默认值是i,步进值的默认值是1,举例如下:
{for start="1" end="100"}
{$i}
{/for}
三元运算
模板可以支持三元运算符,例如:
{$status? '正常' : '错误'}
{$info['status']? $info['msg'] : $info['error']}
{$info.status? $info.msg : $info.error }
5.0版本还支持如下的写法:
{$varname.aa ?? 'xxx'}
表示如果有设置 v a r n a m e 则 输 出 varname则输出 varname则输出varname,否则输出’xxx’。
{$varname?='xxx'}
表示$varname为真时才输出xxx。
{$varname ?: 'no'}
表示如果 v a r n a m e 为 真 则 输 出 varname为真则输出 varname为真则输出varname,否则输出no。
{$a==$b ? 'yes' : 'no'}
前面的表达式为真输出yes,否则输出no, 条件可以是== 、=== 、!=、!==、>=、<=