Maison > développement back-end > tutoriel php > 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

黄舟
Libérer: 2023-03-07 08:30:01
original
1469 Les gens l'ont consulté

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('表达式', '操作条件');
Copier après la connexion

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

< td>=
PensezOpérateur PHP

et tableau de comparaison des opérateurs SQL
Opérateur TPOpérateur SQLExempleRé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<$map['id'] = array('lt',100);id < 100
elt<=$map['id'] = array('elt',100);id <= 100
likelike$map<'username'> = array('like','Admin%');username like 'Admin%'
betweenbetween and$map['id'] = array('between','1,8');id BETWEEN 1 AND 8
not betweennot between and$map['id'] = array('not between','1,8');id NOT BETWEEN 1 AND 8
inin$map['id'] = array('in','1,5,8');id in(1,5,8)
not innot 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 < 10)
oror$map['id'] = array(array('gt',3),array('lt',10), 'or');(id > 3) OR (id < 10)
xor(异或)xor两个输入中只有一个是true时,结果为true,否则为false,例子略。1 xor 1 = 0
exp综合表达式$map['id'] = array('exp','in(1,3,8)');$map['id'] = array('in','1,3,8');
Conditions
eq$map['id'] = array('eq',100);Équivalent à : $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< ;$map['id'] = array('lt',100);id < 100
elt<=$map['id'] = array('elt',100);id <= 100
j'aimej'aime$map<'username'> = array('like','Admin%');nom d'utilisateur comme 'Admin%'
entreentre et$map['id'] = array('between ','1,8');id ENTRE 1 ET 8
pas entrepas entre et$map['id'] = array('not between','1,8');id PAS ENTRE 1 ET 8
dansdans$map['id'] = array('in','1,5,8'); id in(1,5,8)
pas danspas dans$map['id' ] = array( 'not in','1,5,8');id pas dans (1,5,8)
et (par défaut)< /td>et$map['id'] = array(array('gt',1),array('lt',10)); (id > 1) AND (id < 10)
ouou$map[ 'id'] = array(array('gt',3),array('lt',10), 'or');(id > 3) OU (id < 10)
xor (OU exclusif) xorQuand une seule des deux entrées est vraie, le résultat est vrai, sinon faux, l'exemple est omis. 1 xor 1 = 0
expExpression 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;));
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal