thinkphp <if> 标签比较中的 或者 用 OR ,那么 且 是否用 AND 或者是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp <if> 标签比较中的 或者 用 OR ,那么 且 是否用 AND 或者是啥?相关的知识,希望对你有一定的参考价值。

是的;
Thinkphp运算符与PHP运算符对照表

ThinkPHP标签
说明及对应PHP标签
备注

eq 等于(=)(==:用于模板判断时) 可用于查询条件与模板判断
neq 不等于(!=) 可用于查询条件与模板判断
gt 大于(>) 可用于查询条件与模板判断
egt 大于等于(>=) 可用于查询条件与模板判断
lt 小于(<) 可用于查询条件与模板判断
elt 小于等于(<=) 可用于查询条件与模板判断
heq 恒等于(===) 可用于模板判断
nheq 不恒等于(!==) 可用于模板判断
AND 逻辑与(&&) 可用于查询条件
OR 逻辑或(||) 可用于查询条件
参考技术A 你好,在ThinkPHP的模板中是使用 AND 来表示关系运算 且 的。
如:
<if condition="($num gt 1) AND ($num lt 10) "> 大于一小于十
</if>
就表示当$num的值大于1小于10时,输出“大于一小于十”。
参考技术B 恩,是的
或者 用 OR 表示
且 用 AND表示 和sql语句的用法是一样的本回答被提问者采纳
参考技术C 是的

if中的 或者用OR
而且用ADN
但是在页面上要用

或者 ||
而且 &&
参考技术D AND 就是并的意思,必须两个条件都为ture才执行

thinkphp 比较标签

比较标签用于简单的变量比较,复杂的判断条件可以用if标签替换,比较标签是一组标签的集合,基本上用法都一致,如下:

  1. <比较标签 name="变量" value="值">
  2. 内容
  3. </比较标签>

系统支持的比较标签以及所表示的含义分别是:

标签含义
eq或者 equal 等于
neq 或者notequal 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
heq 恒等于
nheq 不恒等于

 

他们的用法基本是一致的,区别在于判断的条件不同,并且所有的比较标签都可以和else标签一起使用。

例如,要求name变量的值等于value就输出,可以使用:

  1. <eq name="name" value="value">value</eq>

或者

  1. <equal name="name" value="value">value</equal>

也可以支持和else标签混合使用:

  1. <eq name="name" value="value">
  2. 相等
  3. <else/>
  4. 不相等
  5. </eq>

当 name变量的值大于5就输出

  1. <gt name="name" value="5">value</gt>

当name变量的值不小于5就输出

  1. <egt name="name" value="5">value</egt>

比较标签中的变量可以支持对象的属性或者数组,甚至可以是系统变量,例如: 当vo对象的属性(或者数组,或者自动判断)等于5就输出

  1. <eq name="vo.name" value="5">
  2. {$vo.name}
  3. </eq>

当vo对象的属性等于5就输出

  1. <eq name="vo:name" value="5">
  2. {$vo.name}
  3. </eq>

当$vo[‘name‘]等于5就输出

  1. <eq name="vo[‘name‘]" value="5">
  2. {$vo.name}
  3. </eq>
复制代码
 

而且还可以支持对变量使用函数 当vo对象的属性值的字符串长度等于5就输出

  1. <eq name="vo:name|strlen" value="5">{$vo.name}</eq>

变量名可以支持系统变量的方式,例如:

  1. <eq name="Think.get.name" value="value">相等<else/>不相等</eq>

通常比较标签的值是一个字符串或者数字,如果需要使用变量,只需要在前面添加“$”标志: 当vo对象的属性等于$a就输出

  1. <eq name="vo:name" value="$a">{$vo.name}</eq>

所有的比较标签可以统一使用compare标签(其实所有的比较标签都是compare标签的别名),例如: 当name变量的值等于5就输出

  1. <compare name="name" value="5" type="eq">value</compare>

等效于

  1. <eq name="name" value="5" >value</eq>

其中type属性的值就是上面列出的比较标签名称

以上是关于thinkphp <if> 标签比较中的 或者 用 OR ,那么 且 是否用 AND 或者是啥?的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp中volist标签 增加if判断。

掌握Thinkphp3.2.0----内置标签

thinkphp-内置标签上

ThinkPHP3.2中if标签

thinkphp volist标签中加if判断的写法

ThinkPHP3.2前端使用IF标签