Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
模板引擎提供了丰富的判断标签,比较标签的用法是:
- <比较标签 name="变量" value="值">内容</比较标签>
系统支持的比较标签以及所表示的含义分别是:
- eq或者 equal:等于
- neq 或者notequal:不等于
- gt:大于
- egt:大于等于
- lt:小于
- elt:小于等于
- heq:恒等于
- nheq:不恒等于
他们的用法基本是一致的,区别在于判断的条件不同。
例如,要求name变量的值等于DoYouHaoBaby就输出,可以使用:
- {~$name = 'DoYouHaoBaby'}
- <eq name="name" value="DoYouHaoBaby">The DoYouHaoBaby Company !</eq>
程序运行后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 14:17:00 */ ?>
- <?php $name = 'DoYouHaoBaby' ; ?>
- <?php if(($name) == "DoYouHaoBaby"): ?>The DoYouHaoBaby Company !<?php endif; ?>
如图:

程序运行结果如下:
- The DoYouHaoBaby Company !
如图:

你也可以使用equal,equal和eq功能一模一样,都是看是否相等。
- {~$name = 'DoYouHaoBaby'}
- <equal name="name" value="DoYouHaoBaby">The DoYouHaoBaby Company !</equal>
程序运行后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 14:21:35 */ ?>
- <?php $name = 'DoYouHaoBaby' ; ?>
- <?php if(($name) == "DoYouHaoBaby"): ?>The DoYouHaoBaby Company !<?php endif; ?>
如图:

程序运行结果如下:
- The DoYouHaoBaby Company !
如图:

也可以支持和else标签混合使用:
- {~$name = 'DoYouHaoBaby'}
- <eq name="name" value="Google">Google公司<else/>这不是Google公司,这是DoYouHaoBaby 信息技术公司。</eq>
程序运行编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 14:24:14 */ ?>
- <?php $name = 'DoYouHaoBaby' ; ?>
- <?php if(($name) == "Google"): ?>Google公司<?php else: ?>这不是Google公司,这是DoYouHaoBaby 信息技术公司。<?php endif; ?>
如图:

程序运行后,结果如下:
- 这不是Google公司,这是DoYouHaoBaby 信息技术公司。
如图:

当 nId变量的值大于5就输出
- {~$nId=6}
- <gt name="nId" value="5">小区开盘,广告语写着:如果你不能给二_奶一个家,那么请至少给她一套房!</gt>
程序运行编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 14:37:36 */ ?>
- <?php $nId=6 ; ?>
- <?php if(($nId) > "5"): ?>小区开盘,广告语写着:如果你不能给二_奶一个家,那么请至少给她一套房!<?php endif; ?>
如图:

程序运行后,结果如下:
- 小区开盘,广告语写着:如果你不能给二_奶一个家,那么请至少给她一套房!
如图:

当name变量的值不小于5就输出
- {~$nId=5}
- <egt name="nId" value="5">爱情就是死循环,一旦执行就陷进去了。
- 爱上一个人,就是内存泄露--你永远释放不了。
- 真正爱上一个人的时候,那就是常量限定,永远不会改变。
- 女朋友就是私有变量,只有我这个类才能调用。
- 情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。</egt>
程序运行编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 14:40:12 */ ?>
- <?php $nId=5 ; ?>
- <?php if(($nId) >= "5"): ?>爱情就是死循环,一旦执行就陷进去了。
- 爱上一个人,就是内存泄露--你永远释放不了。
- 真正爱上一个人的时候,那就是常量限定,永远不会改变。
- 女朋友就是私有变量,只有我这个类才能调用。
- 情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。<?php endif; ?>
如图:
程序运行后,结果如下:
- 爱情就是死循环,一旦执行就陷进去了。 爱上一个人,就是内存泄露--你永远释放不了。 真正爱上一个人的时候,那就是常量限定,永远不会改变。 女朋友就是私有变量,只有我这个类才能调用。 情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。
如图:

比较标签中的变量可以支持对象的属性或者数组,甚至可以是系统变量:
举例说明:
当vo对象的属性(或者数组,或者自动判断)等于5就输出
- {~$arrData['id']=5}
- {~$arrData['name']='某男逛妓院,问女价钱,女答:50元.男见便宜,干了.女说:请付100元,男问其因.女答进出各50元.男怒道:你他妈是中国移动啊,还双向收费!'}
- <eq name="arrData.id" value="5">{$arrData.name}</eq>
程序运行后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 14:53:56 */ ?>
- <?php $arrData['id']=5 ; ?>
- <?php $arrData['name']='某男逛妓院,问女价钱,女答:50元.男见便宜,干了.女说:请付100元,男问其因.女答进出各50元.男怒道:你他妈是中国移动啊,还双向收费!' ; ?>
- <?php if((is_array($arrData) ? $arrData['id'] : $arrData->id) == "5"): ?><?php echo( is_array($arrData) ? $arrData['name'] : $arrData->name ); ?><?php endif; ?>
如图:

程序运行结果如下:
- 某男逛妓院,问女价钱,女答:50元.男见便宜,干了.女说:请付100元,男问其因.女答进出各50元.男怒道:你他妈是中国移动啊,还双向收费!
如图:

当vo对象的属性等于5就输出
- <php>class test{ public $_nId=5; }</php>
- {~$vo=new test()}
- <eq name="vo:_nId" value="5">{$vo:_nId}</eq>
程序运行后的编译PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 15:13:25 */ ?>
- <?php class test{ public $_nId=5; } ?>
- <?php $vo=new test() ; ?>
- <?php if(($vo->_nId) == "5"): ?><?php echo( $vo->_nId ); ?><?php endif; ?>
如图:

程序运行结果如下:
- 5
如图:

当$vo['name']等于DoYouHaoBaby就输出
- {~$vo['name']='DoYouHaoBaby'}
- <eq name="vo['name']" value="DoYouHaoBaby">{$vo.name}</eq>
程序运行后的编译PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 15:19:56 */ ?>
- <?php $vo['name']='DoYouHaoBaby' ; ?>
- <?php if(($vo['name']) == "DoYouHaoBaby"): ?><?php echo( is_array($vo) ? $vo['name'] : $vo->name ); ?><?php endif; ?>
如图:

程序运行结果如下:
- DoYouHaoBaby
如图:

而且还可以支持对变量使用函数
当vo数组元素值的字符串长度等于31就输出
- {~$vo['name']='The DoYouHaoBaby PHP Framework!'}
- <eq name="vo.name|strlen" value="31">{$vo.name}</eq>
程序运行后的PHP 编译代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 15:26:57 */ ?>
- <?php $vo['name']='The DoYouHaoBaby PHP Framework!' ; ?>
- <?php if((strlen(is_array($vo) ? $vo['name'] : $vo->name)) == "31"): ?><?php echo( is_array($vo) ? $vo['name'] : $vo->name ); ?><?php endif; ?>
如图:

程序运行结果如下:
- The DoYouHaoBaby PHP Framework!
如图:

变量名可以支持系统变量的方式,例如:
- {~$_GET['name']='I am the DoYouHaoBaby CEO !'}
- <eq name="D.get.name" value="I am the DoYouHaoBaby CEO !">{$D.get.name}<else/>I am not a CEO !</eq>
程序运行后的PHP 编译代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 15:30:56 */ ?>
- <?php $_GET['name']='I am the DoYouHaoBaby CEO !' ; ?>
- <?php if(($_GET['name']) == "I am the DoYouHaoBaby CEO !"): ?><?php echo( $_GET['name'] ); ?><?php else: ?>I am not a CEO !<?php endif; ?>
如图:

程序运行结果如下:
- I am the DoYouHaoBaby CEO !
如图:

通常比较标签的值是一个字符串或者数字,如果需要使用变量,只需要在前面添加“$”标志:
当vo数组的元素值等于$a就输出
- {~$vo['name']='The DoYouHaoBaby Company !'}
- {~$a='The DoYouHaoBaby Company !'}
- <eq name="vo.name" value="$a">{$vo.name}</eq>
程序运行后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 15:39:27 */ ?>
- <?php $vo['name']='The DoYouHaoBaby Company !' ; ?>
- <?php $a='The DoYouHaoBaby Company !' ; ?>
- <?php if((is_array($vo) ? $vo['name'] : $vo->name) == $a): ?><?php echo( is_array($vo) ? $vo['name'] : $vo->name ); ?><?php endif; ?>
如图:

程序运行后结果:
- The DoYouHaoBaby Company !
如图:

所有的比较标签可以统一使用compare标签(其实所有的比较标签都是compare标签的别名),例如:
当id变量的值等于5就输出
- {~$id=5}
- <compare name="id" value="5" type="eq">I am id - 5 !</compare>
- <eq name="id" value="5" >I am id - 5 !</eq>
程序运行后的PHP 编译代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 15:45:55 */ ?>
- <?php $id=5 ; ?>
- <?php if(($id) == "5"): ?>I am id - 5 !<?php endif; ?><br>
- <?php if(($id) == "5"): ?>I am id - 5 !<?php endif; ?>
如图:

程序运行结果如下:
- I am id - 5 !
- I am id - 5 !
如图:

说明:等效公式:( compare+type = type ),其中type属性的值就是上面列出的比较标签名称。
