Was bedeutet PHP-Multi-Branch?
Mehrere Zweige in PHP beziehen sich auf die multidirektionale bedingte Zweigstruktur; in PHP ist die elseif-Klausel eine typische multidirektionale bedingte Verzweigung. Sie bestimmt, welche Anweisung basierend auf unterschiedlichen Ausdrücken ausgeführt werden soll Werte block; in PHP kann elseif zur Verwendung auch in zwei Schlüsselwörter aufgeteilt werden.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP7.1, Dell G3.
php Was bedeutet Multi-Branche?
PHP-Zweigkontrollanweisung, Zweigstruktur der PHP-Prozesskontrollstruktur
Die Flusskontrolle ist universell und universell für jede Programmiersprache und ein wichtiger Teil des Programms. Man kann sagen, dass in jeder Programmiersprache drei Grundstrukturen unterstützt werden müssen: sequentielle Struktur, Verzweigungsstruktur (Auswahlstruktur oder bedingte Struktur) und Schleifenstruktur. Für sequentielle Strukturen, hauptsächlich Zuweisungsanweisungen und Eingabe-/Ausgabeanweisungen usw., gibt es hier nichts zu sagen. Hier konzentriert sich der Autor auf die Zusammenfassung der Zweigstruktur und der Schleifenstruktur.
Zweigstruktur
Die Zweigstruktur dient dazu, die Reihenfolge der Programmausführung entsprechend den erforderlichen Bedingungen während der Programmausführung zu ändern. Das heißt, wenn eine Bedingung erfüllt ist, wird ein bestimmter Erzählblock ausgeführt, andernfalls wird ein anderer Erzählblock ausgeführt. Die Verwendung von Verzweigungsstrukturen in Programmen kann die folgenden Formen haben:
单一条件分支结构 双向条件分支结构 多向条件分支结构 巢状条件分支结构
Einzelne bedingte Verzweigung
Die if-Struktur ist eine einzelne bedingte Verzweigungsstruktur. Das Grundformat der if-Anweisung besteht darin, einen Ausdruck zu berechnen und zu entscheiden, ob er ausgeführt werden soll Es basiert auf dem Berechnungsergebnis der folgenden Aussagen. Der „Ausdruck“ in Klammern nach „if“ ist die Bedingung für die Ausführung, und das von der Bedingung zurückgegebene Ergebnis kann nur ein boolescher Wert sein. Dies ist normalerweise der Ergebniswert, der durch einen Ausdruck berechnet wird, der aus Vergleichsoperatoren oder logischen Operatoren besteht, oder durch einige Funktionen, die einen booleschen Typ usw. zurückgeben. Wenn ein Wert anderen Typs übergeben wird, wird dieser automatisch in den booleschen Wert TRUE oder FALSE konvertiert. Wenn der Ausdruck TRUE ist, wird der Codeblock ausgeführt, andernfalls wird er nicht ausgeführt.
DEMO
<?php $x = 10; //定义一个整型变量$x,值为10 $y = 20; //定义一个整型变量$y,值为20 if ( $x < $y ) { //$x是小于$y的,所以执行下面语句块 $t = $x ; //先将$x的值放到临时的变量$t中 $x = $y ; //再将变量$y的值赋给变量$a $y = $t ; //再将临时变量$t中的值赋给变量$y } //语句块结束的花括号 var_dump($x > $y ); //两个变量的值已经交换,输出true echo $x." ".$y; ?>
Bidirektionaler bedingter Zweig
Der bidirektionale bedingte Zweig ist wie eine else-Klausel, die auch in eine if-Anweisung eingefügt werden kann, was bedeutet, dass eine Anweisung ausgeführt werden muss, wenn eine bestimmte Bedingung erfüllt ist, und andere Anweisungen werden ausgeführt, wenn die Bedingung nicht erfüllt ist, was genau das ist, was die else-Klausel tut. else erweitert die if-Anweisung und kann die Anweisung ausführen, wenn der Ausdruck in der if-Anweisung FALSE ergibt. Es ist erwähnenswert, dass die else-Anweisung eine Klausel der if-Anweisung ist und zusammen mit if verwendet werden muss und nicht alleine existieren kann.
DEMO
<?php $x = 30; $y = 20; if( $x > $y ) { echo "变量$x 大于变量 $y <br>"; //判断的条件成立,此句会执行 } else { echo "变量$x 小于变量 $y <br>"; //判断的条件不成立,此句会被执行 } echo "变量$x和变量$y比较完毕 "; ?>
Multidirektionale bedingte Verzweigung
Die elseif-Klausel ist eine typische multidirektionale bedingte Verzweigung. Die elseif-Klausel bestimmt, welcher Anweisungsblock basierend auf verschiedenen Ausdruckswerten ausgeführt werden soll. In PHP kann elseif zur Verwendung auch in zwei Schlüsselwörter else if aufgeteilt werden. Die Ausführungsreihenfolge lautet: Wenn Ausdruck l WAHR ist, wird die Anweisung für Codeblock 1 ausgeführt. Wenn festgestellt wird, dass Ausdruck 2 WAHR ist, wird die Anweisung für Codeblock 2 ausgeführt, und so weiter , dann wird die Anweisung des Codeblocks n ausgeführt. Wenn die Bedingungen des Ausdrucks nicht TRUE sind, wird die Anweisung des Codeblocks n l in der else-Klausel ausgeführt.
DEMO
<?php $week = date("D"); //获取当前的星期值,如Mon、Tue、Wed等 if ( $week == "Mon" ) { echo "星期一"; } elseif ( $week == "Tue" ) { echo "星期二"; } elseif ( $week == "Wed" ) { echo "星期三"; } elseif ( $week == "Thu" ) { echo "星期四"; } elseif ( $week == "Fri" ) { echo "星期五"; } elseif ( $week == "Sat" ) { echo "星期六"; } elseif ( $week == "Sun" ) { echo "星期日"; } ?>
Die switch-Anweisung ähnelt elseif. Es handelt sich ebenfalls um eine multidirektionale bedingte Verzweigungsstruktur, aber die if- und elseif-Anweisungen verwenden boolesche Ausdrücke oder boolesche Werte als Verzweigungsbedingungen, während die switch-Anweisung wird zum Testen eines Ausdrucks verwendet. Der Wert der Formel wird ausgewählt und das entsprechende Verzweigungsprogramm wird gemäß den Testergebnissen ausgeführt, um eine Verzweigungssteuerung zu erreichen. Die Switch-Anweisung besteht aus einem Auswahlausdruck und mehreren Case-Labels. Den Case-Labels folgt ein Codeblock. Bei der Verwendung der Switch-Anweisung sollten Sie auf folgende Punkte achten: Der Datentyp des Auswahlausdrucks nach der Switch-Anweisung kann nur eine Ganzzahl oder eine Zeichenfolge sein, kein Boolescher Wert. Normalerweise ist dieser Kontrollausdruck ein Variablenname.
Die geschweiften Klammern nach der switch-Anweisung sind erforderlich.
Die Anzahl der Case-Anweisungen ist nicht festgelegt und kann unbegrenzt erhöht werden. Zwischen dem case-Tag und dem darauf folgenden Wert sollte jedoch ein Leerzeichen stehen, und nach dem Wert muss ein Doppelpunkt stehen, der Teil der Syntax ist.
Nachdem der Switch-Abgleich abgeschlossen ist, werden die Anweisungen in den übereinstimmenden Zweigmodulen nacheinander ausgeführt und die Ausführung wird nicht gestoppt, bis die Switch-Struktur endet oder eine Break-Anweisung auftritt.
Auf die Standardbezeichnung in der Switch-Anweisung folgt direkt ein Doppelpunkt, was bedeutet, dass der Wert des Ausdrucks nicht gleich dem Wert nach einer vorherigen Fallbezeichnung sein darf, und dann wird die Anweisung im Standardzweig ausgeführt. Das Standard-Tag kann weggelassen werden.
DEMO
<?php $week = date("D"); switch( $week ) { case "Mon": echo "星期一"; break; case "Tue": echo "星期二"; break; case "Wed": echo "星期三"; break; case "Thu": echo "星期四"; break; case "Fri": echo "星期五"; break; case "Sat": echo "星期六"; break; case "Sun": echo "星期日"; break; } ?>
Verschachtelter bedingter Zweig
Die verschachtelte bedingte Zweigstruktur ist die Verschachtelung von if-Anweisungen, was bedeutet, dass der Codeblock nach if or else eine if-Anweisung enthält.
DEMO
<?php $sex = "male"; //用户输入的性别 $age = 25; //用户输入的年龄 if ( $sex == "male" ) { //如果用户输入的是男性则执行下面的区块 if ( $age >= 60 ) { //如果是男性并且年龄在60以上则执行下面的区块 echo "这个先生已退休".($age-60)."年了"; } else { //如果是男性并且年龄在60以下则执行下面的区块 echo "这个先生在工作,还有".(60-$age)."年才能退休"; } } else { //如果用户输入的是女性则执行下面的区块 if( $age >= 55 ) { //如果是女性并且年龄在55以上则执行下面区块 echo "这个女士已退休".($age-55)."年了"; } else { //如果是女性并且年龄在55以下则执行下面区块 echo "这个女士在工作,还有".(55-$age)."年才能退休"; } } ?>
Empfohlenes Lernen: „
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonWas bedeutet PHP-Multi-Branch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PhpisstillrelevantinMoDernEnterpriseEnvironments.1.ModerPhp (7.xand8.x) Angebote, strenge, jitkompilation und moderne Syntax, machte maßgeschneiderte Foreiglableforlarge-ScaleApplikationen

Vermeiden Sie N 1 Abfrageprobleme, reduzieren Sie die Anzahl der Datenbankabfragen, indem Sie die zugehörigen Daten im Voraus laden. 2. Wählen Sie nur die erforderlichen Felder aus, um das Laden vollständiger Entitäten zu vermeiden, um Speicher und Bandbreite zu sparen. 3.. Verwenden Sie Cache-Strategien vernünftigerweise, z. 4. Optimieren Sie den Lebenszyklus der Entität und rufen Sie Clear () regelmäßig an, um den Speicher freizugeben, um den Speicherüberlauf zu verhindern. 5. Stellen Sie sicher, dass der Datenbankindex die generierten SQL -Anweisungen existiert und analysiert, um ineffiziente Abfragen zu vermeiden. 6. Deaktivieren Sie die automatische Änderungsverfolgung in Szenarien, in denen Änderungen nicht erforderlich sind, und verwenden Sie Arrays oder Leichtgewichtsmodi, um die Leistung zu verbessern. Die korrekte Verwendung von ORM erfordert die Kombination der SQL -Überwachung, -gespeicherung, der Stapelverarbeitung und der geeigneten Optimierung, um die Anwendungsleistung zu gewährleisten und gleichzeitig die Entwicklungseffizienz beizubehalten.

Um einen flexiblen PHP -Microservice zu erstellen, müssen Sie Rabbitmq verwenden, um eine asynchrone Kommunikation zu erreichen. 1. Decken Sie den Dienst über Nachrichtenwarteschlangen ab, um Kaskadenfehler zu vermeiden. 2. Konfigurieren Sie persistente Warteschlangen, anhaltende Nachrichten, Freigabebestätigung und manuelles ACK, um die Zuverlässigkeit zu gewährleisten. 3.. Verwenden Sie exponentielle Backoff -Wiederholung, TTL und Dead Letter -Warteschlangenverarbeitungsfehler; 4. Verwenden Sie Tools wie Supervisford, um Verbraucherprozesse zu schützen und Herzschlagmechanismen zu ermöglichen, um die Gesundheit der Service zu gewährleisten. und letztendlich die Fähigkeit des Systems erkennen, kontinuierlich in Fehlern zu arbeiten.

Die Verwendung des richtigen PHP-Basisbildes und die Konfiguration einer sicheren, leistungsoptimierten Docker-Umgebung ist der Schlüssel zum Erreichen der Produktion. 1. Wählen Sie PHP: 8,3-FPM-Alpine als Grundbild, um die Angriffsfläche zu reduzieren und die Leistung zu verbessern. 2. Deaktivieren Sie gefährliche Funktionen über benutzerdefinierte Php.ini, deaktivieren Sie die Fehleranzeige und aktivieren Sie Opcache und JIT, um die Sicherheit und Leistung zu verbessern. 3.. Verwenden Sie Nginx als Reverse Proxy, um den Zugriff auf sensible Dateien einzuschränken und die PHP-Anforderungen korrekt an PHP-FPM weiterzuleiten. 4. Verwenden Sie mehrstufige Optimierungsbilder, um Entwicklungsabhängigkeiten zu entfernen, und richten Sie nicht Root-Benutzer auf, um Container auszuführen. 5. optionaler Aufsichtsbehörde zum Verwalten mehrerer Prozesse wie Cron; 6. Überprüfen

Die Datei "Settings.JSON" befindet sich auf dem Pfad auf Benutzerebene oder Arbeitsbereichsebene und wird verwendet, um die VSCODE-Einstellungen anzupassen. 1. Benutzer-Level-Pfad: Windows ist C: \ Benutzer \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS is /users//library/applicationsupport/code/user/settings.json, Linux is /home/.config/code/usser/setings.json; 2. Pfad auf Arbeitsbereichsebene: .VSCODE/Einstellungen im Projekt Root Directory

ReadOmpropertiesinphp8.2canonlyBeSignedoncinstructororatDeklarationandCannotBemodifiedAfterward, durchsetzungsvermutbarkeitatheluagelevel.2.ToachedevimmiMmutability, WrapMutabletypesLikearrayObjecustomimmutablecollections

Mit Bref ermöglicht es PHP-Entwicklern, skalierbare, kostengünstige Anwendungen zu erstellen, ohne Server zu verwalten. 1.Bref bringt Php nach AWSLambda, indem er eine optimierte PHP -Laufzeitschicht bereitstellt, Php8.3 und andere Versionen unterstützt und sich nahtlos in Frameworks wie Laravel und Symfony integriert. 2.. 3. Führen Sie den Befehl ServerlessDeploy aus, um die Bereitstellung abzuschließen, apiCateway automatisch zu konfigurieren und Zugriffs -URLs zu generieren. 4. Für Lambda -Beschränkungen bietet BREF Lösungen.

Der Müllsammlung von PHP basiert auf der Referenzzählung, aber kreisförmige Referenzen müssen von einem periodischen kreisförmigen Müllsammler verarbeitet werden. 1. Die Referenzzahl gibt den Speicher sofort frei, wenn keine Referenz auf die Variable vorhanden ist. 2. Referenzreferenz bewirkt, dass Speicher nicht automatisch freigegeben werden kann, und es hängt davon ab, dass GC ihn erfasst und reinigt. 3.. GC wird ausgelöst, wenn das "mögliche Wurzel" den Schwellenwert erreicht oder manuell gc_collect_cycles () aufruft; 4. Langzeit laufende PHP-Anwendungen sollten gc_status () überwachen und rechtzeitig gc_collect () aufrufen, um Speicherleckage zu vermeiden. 5. Zu den Best Practices gehört die Vermeidung von kreisförmigen Referenzen, die Verwendung von gc_disable () zur Optimierung der Leistungsschlüsselbereiche und Dereference -Objekte über die Clear () -Methode des ORM.
