Schreiben: 1. „if (condition) {Anweisungsblock;} else if (condition) {Anweisungsblock;} else {Anweisungsblock;}“; ;...case value n: Anweisungsblock;break;default: Anweisungsblock;}".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Im Prozess der Programmentwicklung ist es häufig erforderlich, je nach Situation unterschiedliche Codes auszuführen. Es ist eine bedingte Beurteilung erforderlich. In PHP können Sie if oder switch für die bedingte Beurteilung verwenden. Die entsprechende bedingte Anweisung sollte entsprechend dem tatsächlichen Szenario ausgewählt werden:
1, if else-Anweisung
if else-Anweisung wird basierend ausgeführt auf bedingter Beurteilung in der Prozesskontrolle. Wenn diese Anweisung ausgeführt wird, wird zunächst die Bedingung beurteilt und dann wird basierend auf dem Beurteilungsergebnis die entsprechende Operation ausgeführt. Es kann in drei Typen unterteilt werden, nämlich if
语句、if...else
语句、if...else if...else
-Anweisungen.
1), if-Bedingungsanweisung
if-Anweisung ist die einfachste Art der Prozesssteuerung. Bestimmen Sie nur, ob eine bestimmte Bedingung wahr ist, und führen Sie einen bestimmten Anweisungsblock aus, wenn sie wahr ist. Das Syntaxformat lautet wie folgt:
if (判断条件) { 语句块; }
Wenn der auszuführende Anweisungsblock mehr als eine Anweisung enthält, müssen Sie sie mit {} einschließen, um ein Ganzes darzustellen. Wenn nur eine Anweisung ausgeführt werden muss, können Sie dies tun Lassen Sie die geschweifte Klammer weg. Wie folgt:
if (判断条件) 一条语句;
Der Ausführungsablauf der if-Anweisung ist in der folgenden Abbildung dargestellt:
[Beispiel] Definieren Sie ein Array und verwenden Sie die if-Anweisung, um zu bestimmen, ob die Zahl eine gerade Zahl ist wie folgt:
<?php $num = 34; if ($num % 2 == 0) { echo '$num ='.$num.', 是偶数!'; } ?>
Die laufenden Ergebnisse sind wie folgt:
$num =34, 是偶数!
2), if...else...bedingte Anweisung
if-Anweisung kann nur Operationen für die Situation ausführen, in der das Beurteilungsergebnis wahr ist, was reicht in vielen Fällen nicht aus, daher gibt es if ..else-Anweisungen dieser Form. Im Gegensatz zum if-Urteil führt die if...else-Anweisung nicht nur Operationen für Situationen aus, in denen das Urteilsergebnis wahr ist, sondern kann auch entsprechende Operationen für Situationen ausführen, in denen das Urteilsergebnis nicht wahr ist. Die
else-Anweisung erweitert die if-Anweisung und kann die entsprechende Anweisung ausführen, wenn der Wert des Ausdrucks in der if-Anweisung FALSE ist. Beachten Sie außerdem, dass die else-Anweisung eine Klausel der if-Anweisung ist und zusammen mit der if-Anweisung verwendet werden muss und nicht alleine existieren kann. Das Syntaxformat der
if...else-Anweisung lautet wie folgt:
if (判断条件) { 语句块 1; } else { 语句块 2; }
Wenn im obigen Format die „Beurteilungsbedingung“ wahr ist, wird „Anweisungsblock 1“ ausgeführt, andernfalls „Anweisungsblock 2“. wird ausgeführt. Sowohl „Block 1“ als auch „Block 2“ können mehrere Anweisungen enthalten. Wenn sowohl „Anweisungsblock 1“ als auch „Anweisungsblock 2“ genau wie bei der if-Anweisung nur eine Anweisung enthalten, können die geschweiften Klammern {} weggelassen werden, wie unten gezeigt:
if (判断条件) 语句块 1; else 语句块 2;
if...else-Anweisungsausführungsablauf As In der folgenden Abbildung dargestellt:
Beispiel] Verwenden Sie die Funktion rand(), um eine Zufallszahl $num zu generieren, und bestimmen Sie dann, ob die Zufallszahl gerade oder ungerade ist. Der Code lautet wie folgt:
<?php $num = rand(1,31); //生成一个 1~31 之间的随机数 if ($num % 2 == 0) { echo '$num ='.$num.', 是偶数!'; } else { echo '$num ='.$num.', 是奇数!'; } ?>
Der Lauf Die Ergebnisse sind wie folgt:
$num =27, 是奇数!
3), if...elseif...else...bedingte Anweisung
else if-Anweisung ist dasselbe wie else-Anweisung, sie erweitert if-Anweisung, else if-Anweisung bestimmt welche Anweisungsblock, der basierend auf verschiedenen Ausdrücken ausgeführt werden soll.
In PHP können Sie die beiden else if-Schlüsselwörter auch zusammen verwenden (z. B. elseif). Das Syntaxformat der else if-Anweisung lautet wie folgt:
if (判断条件 1) { 语句块 1; } else if (判断条件 2) { 语句块 2; } else if (判断条件 3) { 语句块 3; } ...... else if (判断条件 n) { 语句块 n; } else{ 语句块 n+1; }
Wenn in der obigen else if-Syntax die erste „Beurteilungsbedingung 1“ WAHR ist, wird die „Anweisungsblock 1“-Anweisung ausgeführt, wenn die zweite „Beurteilungsbedingung 1“ gilt „ist 2“ TRUE, dann wird die Anweisung „Anweisungsblock 2“ ausgeführt und so weiter. Wenn keine der Bedingungen des Ausdrucks TRUE ist, wird die Anweisung „Anweisungsblock n+1“ in der else-Klausel ausgeführt. Natürlich kann die letzte else-Anweisung auch weggelassen werden.
Nur ein Ausdruck in der else if-Anweisung kann gleichzeitig TRUE sein, das heißt, in der else if-Anweisung kann nur ein Anweisungsblock ausgeführt werden. Wenn es mehrere Ausdrücke gibt, die TRUE ergeben, wird nur der Anweisungsblock ausgeführt, der dem ersten Ausdruck entspricht.
if...else if...else Der Ausführungsablauf der if...else-Anweisung ist in der folgenden Abbildung dargestellt:
[Beispiel] Beurteilen Sie die Noten „Ausgezeichnet“, „Gut“, „Mittel“ und „Schlecht“. Der Code lautet wie folgt:
<?php $score = 89; if ($score > 90) { echo '成绩的级别为:优!'; } else if ($score > 70) { echo '成绩的级别为:良!'; } else if ($score > 60) { echo '成绩的级别为:中!'; } else { echo '成绩的级别为:差!'; } ?>
Die laufenden Ergebnisse sind wie folgt:
成绩的级别为:良!
2. switch...case...conditional-Anweisung
switch-Anweisung ist ähnlich wie if... else if...else-Anweisung und ist ebenfalls eine Verzweigungsstruktur, ähnlich der if...else if...else-Anweisung, die prägnanter und klarer ist als die switch-Anweisung.
Die switch-Anweisung besteht aus einem Ausdruck und mehreren Case-Labels. Auf das Case-Label folgt ein Codeblock. Das Case-Label dient als Bezeichner dieses Codeblocks. Das Syntaxformat der switch-Anweisung lautet wie folgt:
switch(表达式){ case 值 1: 语句块 1; break; case 值 2: 语句块 2; break; ... ... case 值 n: 语句块 n; break; default: 语句块 n+1; }
switch 语句根据表达式的值,依次与 case 中的值进行比较,如果不相等,继续查找下一个 case;如果相等,就会执行对应的语句,直到 switch 语句结束或遇到 break 为止。
一般来说,switch 语句最终都有一个默认值 default,如果在前面的 case 中没有找到相符的条件,则执行默认语句,和 else 语句类似。
switch 语句的执行流程如下图所示:
在使用 switch 语句时应该注意以下几点:
和 if 语句不同的是,switch 语句后面表达式的数据类型只能是整型或字符串,不能是 bool 型。通常这个表达式是一个变量名称,虽然 PHP 是弱类型语言,在 switch 后面表达式的变量可以是任意类型数据,但为了保证匹配执行的准确性,最好只使用整型或字符串中的一种类型。
和 if 语句不同的是,switch 语句后面的花括号是必须有的。
case 语句的个数没有规定,可以无限增加。但 case 标签和 case 标签后面的值之间应该有一个空格,值后面必须有一个冒号,这是语法的一部分。
switch 匹配完成以后,将依次逐条执行匹配的分支模块中的语句,直到 switch 结构结束或者遇到了 break 语句才停止执行。所以,如果一个分支语句的后面没有写上 break 语句,程序将会继续执行下一个分支语句的内容。
与 if 语句中的 else 类似,switch 语句中 default 标签直接在后面加上一个冒号,看似没有条件,其实是有条件的,条件就是“表达式”的值不能与前面任何一个 case 标签后的值相等,这时才执行 default 分支中的语句。default 标签和 if 中的 else 子句一样,它不是 switch 语句中必需的,可以省略。
【示例】使用 date() 函数获取当前星期的英文缩写,根据缩写打印今天是星期几,代码如下所示:
<?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; } ?>
运行结果如下:
星期四
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonWie schreibe ich eine PHP-Urteilserklärung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!