ThinkPHP 比较运算符与逻辑运算符详解
ThinkPHP 的模型、操作及模板中都可能用到比较运算符与逻辑运算符,其中有的地方可以直接使用 PHP 的运算符,而有的地方必须使用 ThinkPHP 特有的运算符。初学者对此往往比较迷惑,本文就
使用PHP运算符
在操作中,一般的逻辑代码片段可以直接使用 PHP 中的运算符,如:
public function index(){
if(intval($_GET['id']) > 0){
echo 'id 参数有效';
}
}使用ThinkPHP运算符
在执行数据库操作时,在构造数组查询条件的时候需要使用 ThinkPHP 运算符:
public function index(){
// uid <= 5
$condition['uid'] = array('elt',5);
$list = $Dao->where($condition)->select();
}如果使用:
$condition['uid'] <= 5;
这显然是一个错误的语法,以及如下使用方式也是错误的(会提示:表达式错误):
$condition['uid'] = array('<=',5);唯一的例外是赋值运算(=)可以直接使用:
$condition['uid'] = 5;
提示
对于 where 条件,也可以直接以字符串的方式传入,这种情况下直接使用 PHP 运算符:
$list = $Dao->where('uid <= 5')->select();模板中使用运算符
在模板中必须使用 ThinkPHP 运算符。注意这里说得必须使用是指模板判断标签而不是说模板中不允许出现任何 PHP 运算符。
例如在 if 标签中使用 ThinkPHP 运算符:
<if condition="$vo['uid'] lt 10">
另外模板中的比较标签也具有跟运算符相同的意义:
<lt name="vo['uid']" value="10">value</lt>
ThinkPHP运算符与PHP运算符对照表
| ThinkPHP标签 | 说明及对应PHP标签 | 备注 |
|---|---|---|
| eq | 等于(=)(==:用于模板判断时) | 可用于查询条件与模板判断 |
| neq | 不等于(!=) | 可用于查询条件与模板判断 |
| gt | 大于(>) | 可用于查询条件与模板判断 |
| egt | 大于等于(>=) | 可用于查询条件与模板判断 |
| lt | 小于(<) | 可用于查询条件与模板判断 |
| elt | 小于等于(<=) | 可用于查询条件与模板判断 |
| heq | 恒等于(===) | 可用于模板判断 |
| nheq | 不恒等于(!==) | 可用于模板判断 |
| AND | 逻辑与(&&) | 可用于查询条件 |
| OR | 逻辑或(||) | 可用于查询条件 |
本文属原创,转载请注明原文:https://www.zhimatong.com/jiaocheng/574.html
为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。
内容有用
热门主题
相关阅读
- ThinkPHP 5.1 缓存的创建与读取
- ThinkPHP5 查询本年、本月、本周的方法
- ThinkPHP使用update函数更新数据的方法
- ThinkPHP6多应用下路由设置
- ThinkPHP5.1图片上传后自定义图片名称和图片存储路径
- ThinkPHP页面提示Warning: require(): open_basedir restriction in effect. File的解决方法
- 中国数据API返回字符串true,判断不起作用的解决方法
- tp5中mysql查询select结果去重显示唯一数据的方法
- ThinkpPHP5.1表单多选checkbox的判断和保存传值
- thinkphp前端页面输出html
- vuejs和thinkphp结合的2种方法
- tp5.1 随机查询数据



交流群
购物车