ThinkPHP模板范围判断输出In标签与Range标签用法详解
ThinkPHP模板的in标签与range标签用于判断某个模板变量是否在某个范围之内。
1.in标签
ThinkPHP的in标签用于某个模板变量是否在某个范围之内,使用格式如下:
<inname="变量名"value="值1,值2,...">要输出的内容</in>
使用时,在模块操作(如Index/display)里设定变量并赋值给模板:
$groupId=1; $this->assign("groupId",$groupId);
模板/Tpl/default/Index/display.html,使用in标签用法如下:
<inname="groupId"value="1,2,3">管理群组</in>
运行该示例,可输出:
管理群组
该示例的php代码等同于:
<?php if(in_array(($groupId),explode(',',"1,2,3"))){ echo'管理群组'; } ?>
注:变量的值也可以是字符串或者数组,value属性的值可以使用变量。
2.notin标签
与in标签对应的还有个notin标签,即判断不在某个范围内:
用法如:
<notinname="groupId"value="1,2,3">非管理群组</notin>
上述两个标签示例合并起来就等同于:
<inname="groupId"value="1,2,3">管理群组<else/>非管理群组</in>
3.range标签
ThinkPHP的in和notin标签也可以使用range标签来替代,如:
<rangename="groupId"value="1,2,3"type="in">管理群组</range>
上面的例子相当于in标签,当type属性的值为notin时就相当于notin标签。