Maison  >  Article  >  développement back-end  >  Introduction détaillée aux exemples d'expressions courantes dans ThinkPHP Where conditions

Introduction détaillée aux exemples d'expressions courantes dans ThinkPHP Where conditions

黄舟
黄舟original
2017-04-01 09:12:181385parcourir

L'éditeur ci-dessous vous apportera un exemple (explication détaillée) d'expressions couramment utilisées dans ThinkPHP conditions Where. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour jeter un œil.

Où le format d'expression conditionnelle est :

$map['字段名'] = array('表达式', '操作条件');

où $map est un ArrayVariable, vous pouvez le nommer selon vos besoins. L'expression dans le format ci-dessus est en fait la signification de l'opérateur  :

PensezOpérateur PHP et tableau de comparaison des opérateurs SQL
Opérateur TP Opérateur SQL Exemple RéelRequête
ThinkPHP运算符 与 SQL运算符 对照表
TP运算符 SQL运算符 例子 实际查询条件
eq = $map['id'] = array('eq',100); 等效于:$map['id'] = 100;
neq != $map['id'] = array('neq',100); id != 100
gt > $map['id'] = array('gt',100); id > 100
egt >= $map['id'] = array('egt',100); id >= 100
lt 99cceb643fd24ad4a71fb994e9531ae5 = array('like','Admin%'); username like 'Admin%'
between between and $map['id'] = array('between','1,8'); id BETWEEN 1 AND 8
not between not between and $map['id'] = array('not between','1,8'); id NOT BETWEEN 1 AND 8
in in $map['id'] = array('in','1,5,8'); id in(1,5,8)
not in not in $map['id'] = array('not in','1,5,8'); id not in(1,5,8)
and(默认) and $map['id'] = array(array('gt',1),array('lt',10)); (id > 1) AND (id 6e99feeb5d4ab6634ee52e4511733d89 3) OR (id 6386dc61fedc602da5a16883515efb3c $map['id'] = array('gt ',100) ; id > 100
egt >= $map ['id' ] = array('egt',100); id >= 100
lt < ; $map['id'] = array('lt',100); id e733ab7f948449f999a54ce42f32fef6 = array('like','Admin%'); td> nom d'utilisateur comme 'Admin%'
entre entre et $map['id'] = array('between ','1,8'); id ENTRE 1 ET 8
pas entre pas entre et $map['id'] = array('not between','1,8'); id PAS ENTRE 1 ET 8
dans dans $map['id'] = array('in','1,5,8'); id in(1,5,8)
pas dans pas dans $map['id' ] = array( 'not in','1,5,8'); id pas dans (1,5,8)
et (par défaut) et $map['id'] = array(array('gt',1),array('lt',10)); (id > 1) AND (id 0f6687ee3223f631cf62806703377d10 3) OU (id < 10)
xor (OU exclusif) xor Quand une seule des deux entrées est vraie, le résultat est vrai, sinon faux, l'exemple est omis. 1 xor 1 = 0
exp Expression complète $map['id' ] = array('exp','in(1,3,8)'); $map['id'] = array('in','1,3,8'); /td>

Notes supplémentaires

• Comme SQL, les opérateurs ThinkPHP ne sont pas sensibles à la casse , eq est le même que EQ.

• entre et dans les conditions supportent chaîne ou tableau, c'est-à-dire que les deux méthodes d'écriture suivantes sont équivalentes :

$map[&#39;id&#39;] = array(&#39;not in&#39;,&#39;1,5,8&#39;);
$map[&#39;id&#39;] = array(&#39;not in&#39;,array(&#39;1&#39;,&#39;5&#39;,&#39;8&#39;));

expression exp

exp dans le tableau ci-dessus n'est pas un opérateur, mais une expression complète pour prendre en charge des paramètres de conditions plus complexes. La condition de fonctionnement de exp ne sera pas traitée comme une chaîne, et toute syntaxe prise en charge par SQL peut être utilisée, y compris utilisant les fonctions et les noms de champs.

exp n'est pas seulement utilisé pour les conditions Where, mais peut également être utilisé pour la mise à jour des données, telles que :

$Dao = M("Article");
//构建 save 的数据数组,文章点击数+1
$data[&#39;id&#39;] = 10;
$data[&#39;counter&#39;] = array(&#39;exp&#39;,&#39;counter+1&#39;);
//根据条件保存修改的数据
$User->save($data);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn