当前位置:首页 > ThinkPHP > 关键词 > 运算符 > 正文

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

为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。

内容有用

联系
顾问

在线
客服
账号登录

没有账号?立即注册

忘记密码

登录即同意用户协议没有账号? 立即注册
账号注册
我已阅读并同意用户协议
立即注册
注册即同意用户协议已有账号? 立即登录
找回密码

操作步骤:邮箱验证->设置新密码

注册即同意用户协议已有账号? 立即登录