The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ Range标签 ]

Range标签用于判断某个变量是否在某个范围之内,包括in、notin和range三个标签。
 

可以使用in标签来判断模板变量是否在某个范围内。
例如:

  1. {~$id=1}   
  2. <in name="id" value="1,2,3" >我的值为{$id},我属于大家这个集体!</in>    

程序编译后的PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 16:35:56  */ ?>   
  2. <?php $id=1 ; ?>   
  3. <?php if(in_array(($id), explode(',',"1,2,3"))): ?>我的值为<?php echo( $id ); ?>,我属于大家这个集体!<?php endif; ?>   

如图:


程序运行结果如下:

  1. 我的值为1,我属于大家这个集体!  

如图:


如果判断不在某个范围内
我们可以在模板中使用:

  1. {~$id=4}   
  2. <notin name="id" value="1,2,3" >我的值为{$id},我的人不在大家这个集体,但是我的心却早已经来了。</notin>    

 
程序编译后的PHP 代码如下:
  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 16:40:21  */ ?>   
  2. <?php $id=4 ; ?>   
  3. <?php if(!in_array(($id), explode(',',"1,2,3"))): ?>我的值为<?php echo( $id ); ?>,我的人不在大家这个集体,但是我的心却早已经来了。<?php endif; ?>   

如图:


程序运行结果如下:

  1. 我的值为4,我的人不在大家这个集体,但是我的心却早已经来了。  

如图:


可以把上面两个标签合并成为:

  1. {~$id=2}   
  2. <in name="id" value="1,2,3" >我的值为{$id},我属于这个集体。<else/>我的值为{$id},我人不属于这个集体,但我的心早已经属于这个集体了。</in>   

 
程序编译后的PHP 代码如下:
  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 16:43:34  */ ?>   
  2. <?php $id=2 ; ?>   
  3. <?php if(in_array(($id), explode(',',"1,2,3"))): ?>我的值为<?php echo( $id ); ?>,我属于这个集体。<?php else: ?>我的值为<?php echo( $id ); ?>,我人不属于这个集体,但我的心早已经属于这个集体了。<?php endif; ?>   

如图:


程序运行结果如下:

  1. 我的值为2,我属于这个集体。  

如图:


value属性的值可以使用变量,例如:

  1. {~$id=4}   
  2. {~$var=array(1,2,3,4)}   
  3. <in name="id" value="$var" >我的值为{$id},我属于这个集体!</in><br>   
  4. {~$var='1,2,3,4'}   
  5. <in name="id" value="$var" >我的值为{$id},我属于这个集体!</in>  

程序运行后的编译PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 16:47:17  */ ?>   
  2. <?php $id=4 ; ?>   
  3. <?php $var=array(1,2,3,4) ; ?>   
  4. <?php if(in_array(($id), is_array($var)?$var:explode(',',$var))): ?>我的值为<?php echo( $id ); ?>,我属于这个集体!<?php endif; ?><br>   
  5. <?php $var='1,2,3,4' ; ?>   
  6. <?php if(in_array(($id), is_array($var)?$var:explode(',',$var))): ?>我的值为<?php echo( $id ); ?>,我属于这个集体!<?php endif; ?>  


如图:

程序运行结果如下:

  1. 我的值为4,我属于这个集体!   
  2. 我的值为4,我属于这个集体!  


如图:

变量的值可以是字符串或者数组,都可以完成范围判断。
 
也可以直接使用range标签,替换in和notin的用法:

  1. {~$id=3}   
  2. <range name="id" value="1,2,3" type="in" >我的值为{$id},我属于这个集体!</range>    

程序运行编译后的PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 16:52:05  */ ?>   
  2. <?php $id=3 ; ?>   
  3. <?php if(in_array(($id), explode(',',"1,2,3"))): ?>我的值为<?php echo( $id ); ?>,我属于这个集体!<?php endif; ?>  

如图:

程序运行结果如下:

  1. 我的值为3,我属于这个集体!  

如图:

 

说明:其中type属性的值可以用in或者notin。