Dieser Artikel gibt Ihnen hauptsächlich einige Abfragetipps in ThinkPHP und PHP, ich hoffe, er kann Ihnen helfen.
1: Verwandte Abfragen abfragen und alle Felder mit denselben Feldnamen abfragen
$goodsNum = $cartlistM->field('*,a.id as cid')->join('Goods as b on a.goods_id = b.id')->where(array('a.id' =>$_POST['cartID'] ))->find();
2: Abfrageanweisungen, die doppelte Werte gemäß Bedingungen entfernen
M('propertytake')->group('batchnum')->where($w)->select();
3: In Arrays entfernen, die die Bedingungen in der Abfrage select() in der Schleife nicht erfüllen
foreach ($propertyArr as $key=>$val) { $w['mid'] = $this->mid; $w['property_id'] = $val['id']; //查询期数是否已领满9年 $hasGetYear = count(M('propertytake')->group('batchnum')->where($w)->select());//查询当前资产在本期已收成的消耗资源数量 $w['batchnum'] = $setBatch; $temp_num = M('propertytake')->where($w)->sum('nums'); if(empty($temp_num)) { $temp_num = 0; }if ($hasGetYear >= $goodsArr['getmaxnum']||$temp_num>=$val['totaltree']||$val['totaltree']<=0) { unset($propertyArr[$key]); }else { $treeNum += $val['totaltree']; } }
4: Häufig verwendete Funktionen
a)fmod() 函数返回除法的浮点数余数。 b)unset($saveData);销毁数组 c)strtotime(date('Y').'-01-01');把时间变为时间戳的函数 d)isMobile();判断当前用户是否手机 e)array_push($arr,$val);//$arr被添加的数组,$val为添加的值
5: thinkPHP-Transaktion Verarbeitungsbeispiel: Transaktionsverarbeitung lokaler Daten aktivieren
M()->startTrans(); //提交 M()->commit(); //不提交 M()->rollback();
6: JSON-Analyse json_decode();JSON-Verschlüsselung json_encode(value);
7: Aufrufen der übergeordneten Klasse (geerbte Klasse). )
parent::memaddress($list['province'],$list['city'],$list['district']);//parent::是父的意思,memaddress是父类中的函数
8 :Abfragemethodenfilterabfrage
distanct(true) 例: $data=M('user')->distanct(true)->field('score')->order('score asc')->select();
9: thinkPHP erhöht oder verringert den Feldwert
$newM->where('id='.$cid)->setInc('browser',1); //browser字段值自增1,setDec是自减
10: Verschiedene Schleifen (für forech ….) Aus der Schleife springen return Der Unterschied zwischen break und continue
break wird verwendet, um eine Schleife vollständig zu beenden und aus dem Schleifenkörper zu springen. Unabhängig von der Art der Schleife beendet das System die Schleife vollständig, sobald eine Unterbrechung im Schleifenkörper auftritt, und beginnt mit der Ausführung des Codes nach der Schleife. break kann nicht nur die Schleife beenden, in der es sich befindet, sondern auch die äußere Schleife. Zu diesem Zeitpunkt muss unmittelbar nach der Unterbrechung eine Beschriftung folgen. Diese Beschriftung wird verwendet, um eine äußere Schleife zu identifizieren. Ein Label in Java ist ein Bezeichner, gefolgt von einem englischen Doppelpunkt (:). Und es muss vor der Schleifenanweisung platziert werden, um wirksam zu sein.
public class BreakTest2 { public static void main(String[] args){ // 外层循环,outer作为标识符 outer: for (int i = 0 ; i < 5 ; i++ ){ // 内层循环 for (int j = 0; j < 3 ; j++ ){ System.out.println("i的值为:" + i + " j的值为:" + j); if (j == 1){ // 跳出outer标签所标识的循环。 break outer; } } } } }
Die Funktion von continue ähnelt in gewisser Weise der von break. Der Unterschied besteht darin, dass continue nur diesen Zyklus beendet und dann den nächsten Zyklus startet. Und break beendet die Schleife vollständig.
public class ContinueTest { public static void main(String[] args){// 一个简单的for循环 for (int i = 0; i < 3 ; i++ ){ System.out.println("i的值是" + i); if (i == 1){ // 忽略本次循环的剩下语句 continue; } System.out.println("continue后的输出语句"); } } }
Das Schlüsselwort return wird nicht speziell zum Ausbrechen aus einer Schleife verwendet. Die Funktion von return besteht darin, eine Methode zu beenden. Sobald eine Return-Anweisung innerhalb des Schleifenkörpers ausgeführt wird, beendet die Return-Anweisung die Methode und die Schleife wird auf natürliche Weise beendet. Anders als continue und break beendet return direkt die gesamte Methode, unabhängig davon, in wie vielen Schleifenebenen sich diese Rückkehr befindet.
public class ReturnTest { public static void main(String[] args){ // 一个简单的for循环 for (int i = 0; i < 3 ; i++ ){ System.out.println("i的值是" + i); if (i == 1){ return; } System.out.println("return后的输出语句"); } } }
Verwandte Empfehlungen:
So fragen Sie ähnliche Zeichenfolgen in PHP ab
Eine Zusammenfassung, wie Sie mit PHP abfragen, ob Es existiert eine MySQL-Tabelle
Zusammenfassung der thinkPHP-Abfragemethoden
Das obige ist der detaillierte Inhalt vonThinkPHP und PHP geben einige Abfragetipps weiter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!