ThinkPHP模板范围判断输出In标签与Range标签用法详解

5年以前  |  阅读数:739 次  |  编程语言:PHP 

ThinkPHP模板的in标签与range标签用于判断某个模板变量是否在某个范围之内
1.in标签
ThinkPHP的in标签用于某个模板变量是否在某个范围之内,使用格式如下:


    <in name="变量名" value="值1,值2,...">要输出的内容</in>

使用时,在模块操作(如 Index/display )里设定变量并赋值给模板:


    $groupId = 1;
    $this->assign( "groupId", $groupId );

模板/Tpl/default/Index/display.html,使用in标签用法如下:


    <in name="groupId" value="1,2,3">管理群组</in>

运行该示例,可输出:

管理群组

该示例的php代码等同于:


    <?php
    if(in_array(($groupId), explode(',',"1,2,3"))){
      echo '管理群组';
    }
    ?>

注:变量的值也可以是字符串或者数组,value 属性的值可以使用变量。

2.notin 标签

与in标签对应的还有个notin标签,即判断不在某个范围内:
用法如:


    <notin name="groupId" value="1,2,3">非管理群组</notin>

上述两个标签示例合并起来就等同于:


    <in name="groupId" value="1,2,3">管理群组<else />非管理群组</in>

3.range 标签

ThinkPHP的in和notin标签也可以使用range标签来替代,如:


    <range name="groupId" value="1,2,3" type="in" >管理群组</range>

上面的例子相当于in标签,当type属性的值为notin时就相当于notin标签。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8