Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in gängige Ausdrucksbeispiele in ThinkPHP Where-Bedingungen

Detaillierte Einführung in gängige Ausdrucksbeispiele in ThinkPHP Where-Bedingungen

黄舟
黄舟Original
2017-04-01 09:12:181386Durchsuche

Der folgende Editor zeigt Ihnen ein Beispiel für häufig verwendete Ausdrücke in ThinkPHP Where-Bedingungen (ausführliche Erklärung). Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen.

Wobei das bedingte Ausdrucksformat ist:

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

wobei $map ein gewöhnliches ArrayVariable, Sie können es nach Ihren Bedürfnissen benennen. Der Ausdruck im obigen Format ist eigentlich die Bedeutung des -Operators :

ThinkPHP-Operator und SQL-Operator-Vergleichstabelle
TP-Operator SQL-Operator Beispiel TatsächlichAbfrage
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 9023c34a0c6dd978ac8124f4d6817d28 $map['id'] = array('gt ',100) ; id > 100
egt >= $map ['id' ] = array('egt',100); id >= 100
lt < ; $map['id'] = array('lt',100); id 4ee85ff4a1d55712929e95be601ca3ba = array('like','Admin%'); td> Benutzername wie „Admin%“
between between und $map['id'] = array('between ','1,8'); id ZWISCHEN 1 UND 8
nicht zwischen nicht zwischen und $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)
nicht in nicht in $map['id' ] = array( 'nicht in','1,5,8'); id nicht in (1,5,8)
und (Standard) and $map['id'] = array(array('gt',1),array('lt',10)); (id > 1) AND (id 58d3a62a108ad055917722208829052c 3) OR (id < 10)
xor (exklusives ODER) xor Wenn nur eine der beiden Eingaben wahr ist, ist das Ergebnis wahr, andernfalls ist es falsch. das Beispiel wird weggelassen. 1 xor 1 = 0
exp Umfassender Ausdruck $map['id' ] = array('exp','in(1,3,8)'); $map['id'] = array('in','1,3,8');

Ergänzende Hinweise

• Wie SQL, ThinkPHP-Operatoren. Groß- und Kleinschreibung wird nicht beachtet , eq ist dasselbe wie EQ.

• Zwischen und in Bedingungen unterstützen Zeichenfolge oder Array, d. h. die folgenden beiden Schreibmethoden sind äquivalent:

$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;));

exp expression

exp in der obigen Tabelle ist kein Operator, sondern ein umfassender Ausdruck zur Unterstützung komplexerer Bedingungseinstellungen. Der Betriebszustand von exp wird nicht als Zeichenfolge behandelt und es kann jede von SQL unterstützte Syntax verwendet werden, einschließlich mit Funktionen und Feldnamen.

exp wird nicht nur für Where-Bedingungen verwendet, sondern kann auch für Daten-Updates verwendet werden, wie zum Beispiel:

$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);

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in gängige Ausdrucksbeispiele in ThinkPHP Where-Bedingungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn