再次借用师傅的一句话作为开头:思想的力量是很强大的.
今天简单说一下范围判断的notin标签
官方举例↓
我们可以使用in标签来判断模板变量是否在某个范围内,例如:
<in name="id" value="1,2,3"> id在范围内 </in>
name属性还可以支持直接判断系统变量,例如:
<in name="Think.get.id" value="1,2,3"> $_GET['id'] 在范围内 </in>
value属性也可以使用变量,例如:
<in name="id" value="$range"> id在范围内 </in>
注意:
$range变量可以是数组,也可以是以逗号分隔的字符串。
附上一个编译文件中的例子↓
<?php if(is_array($attrinfo)): foreach($attrinfo as $key=>$ai): if(!in_array(($ai["attr_id"]), is_array($dian_attrids)?$dian_attrids:explode(',',$dian_attrids))): ?> <dl> <dt><?php echo ($ai["attr_name"]); ?>:</dt> <dd class="cur"><a href="">不限</a></dd> <?php if(is_array($ai["attrval"])): foreach($ai["attrval"] as $key=>$av): ?> <dd><a href="/index.php/home/goods/showlist/cat_id/2/attr_id_1/mi/attr_id_<?php echo ($ai["attr_id"]); ?>/<?php echo ($av); ?>"> <?php echo ($av); ?></a></dd><?php endforeach; endif; ?> </dl> <?php endif; endforeach; endif; ?>
其中的
is_array($dian_attrids)?$dian_attrids:explode(',',$dian_attrids)
就是实现了数组或逗号分隔字符串的灵活运用.