PHP 控制结构:If else、Switch Case

⚡ 智能摘要

控制结构和循环决定了 PHP 程序的执行路径,并能高效地重复执行代码块。本教程首先解释了 if-else 和 switch 语句的决策结构,然后涵盖了 for、while、do-while 和 foreach 循环,这些都是竞争者在这个主题中经常会遇到的。

  • 🔀 控制流: 控制结构根据条件选择运行哪个代码,将简单的序列转换为决策驱动的逻辑。
  • 🔤 如果-否则: if-else 结构在条件为真时执行一个代码块,在条件为假时执行备用代码块。
  • 🧮 切换大小写: switch 语句将一个值与多个 case 标签进行比较,并运行匹配的代码块,如果没有匹配项,则运行默认值。
  • 🔁 循环概述: 循环会重复执行一段代码,从而避免多次编写相同的语句。
  • 🔢 循环计数: for 和 while 循环,只要条件成立,就理想,当你知道或 track 需要多少次迭代。
  • 📦 foreach 循环: foreach 循环遍历数组中的每个元素,而无需自己管理索引计数器。
  • 🤖 人工智能辅助: AI 工具可以将冗长的 if-else 链重构为 switch 或 match 语句,并帮助修复无限循环。

PHP 控制结构和循环

什么是控制结构?

Code 执行方式可以分为以下几类。

  • 顺序 – 这种方法需要按照编写顺序执行所有代码。
  • 决策 – 这涉及在给定多个选项的情况下做出选择。执行的代码取决于条件的值。

控制结构是根据设定条件的值决定程序执行路径的代码块。

现在让我们来看一些控制结构: PHP 支持。

PHP IF 其他

如果…那么…否则 最简单的控制结构它使用布尔逻辑来评估条件。

何时使用 if…then…else

  • 您有一段代码,只有当某个条件为真时才执行
  • 你有两个选择,你必须选择一个。
  • 如果…那么…否则如果…用于当你必须选择两个以上的选项,并且必须选择一个或多个

句法。 if…then…else 的语法是:

<?php
if (condition is true) {
    block one
} else {
    block two
}
?>

这里,

  • “如果(条件为真)“是控制结构
  • “阻止一个” 是条件为真时执行的代码
  • 其他 如果条件为假,则后备方案
  • “第二区块” 是条件为假时执行的代码块

这个怎么运作。 下面的流程图说明了 if…then…else 控制结构的工作原理。

PHP IF 其他

让我们看看实际效果如何。 下面的代码使用“if...then...else”来确定两个数字之间的较大值。

<?php

$first_number = 7;

$second_number = 21;

if ($first_number > $second_number){

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>

输出:

21 is greater than 7

PHP 开关大小写

切换…案例 类似于 如果……那么……否则 控制结构。

它只是 执行 单个代码块取决于 折扣值 的情况。

如果没有满足任何条件,则执行默认代码块。

它具有以下基本语法。

<?php
switch(condition){

case value:

// block of code to be executed

break;

case value2:

// block of code to be executed

break;

default:

// default block code

break;

}
?>

这里,

  • “转变(…){…}” 是控制结构块代码
  • “case值:case…” 是根据条件值执行的代码块
  • “默认:” 当没有值符合条件时,要执行的代码块

它是如何运行的?

下面的流程图说明了交换机控制结构的工作原理。

PHP 开关大小写

实际例子

下面的代码使用开关控制结构根据一周中的某天显示一条消息。

<?php

$today = "wednesday";

switch($today){

case "sunday":

echo "pray for us sinners.";

break;

case "wednesday":

echo "ladies night, take her out for dinner";

break;

case "saturday":

echo "take care as you go out tonight.";

break;

default:

echo "have a nice day at work";

break;

}

?>

输出:

ladies night, take her out for dinner

PHP循环

循环是一种控制结构,只要条件为真,它就会重复执行一段代码。循环可以避免你多次编写相同的语句。PHP 支持四种循环类型:for、while、do-while 和 foreach。想要深入了解,请参阅专门的文档。 PHP循环教程.

PHP For 循环

当您预先知道代码需要运行多少次时,可以使用 for 循环。它将计数器、条件和增量操作合并在一行中。

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i;
}
?>

输出:

01234

PHP while 循环

while 循环会重复执行一个代码块,只要其条件为真。每次迭代之前都会检查条件,因此代码块本身可能执行零次。

<?php
$i = 0;
while ($i < 5) {
    echo $i;
    $i++;
}
?>

输出:

01234

PHP Do-While 循环

do while 循环类似于 while 循环,但它在循环体之后才检查条件。这保证了代码块至少执行一次。

<?php
$i = 0;
do {
    echo $i;
    $i++;
} while ($i < 5);
?>

输出:

01234

PHP foreach 循环

foreach 循环是专为数组设计的。它会遍历数组中的每个元素,而无需您管理索引计数器。

<?php
$colors = array("red", "green", "blue");
foreach ($colors as $color) {
    echo $color . " ";
}
?>

输出:

red green blue

常见问题

当需要将一个变量与多个固定值进行比较时,请使用 switch 语句,因为它比冗长的 if-else 语句链更易于阅读。对于范围、复杂条件或涉及不同变量的比较,请使用 if-else 语句。

`break` 会完全停止循环,并跳转到它后面的代码。`continue` 会跳过当前迭代的剩余部分,直接跳到下一次迭代,而不会完全结束循环。

match 是 PHP 8 中引入的 switch 的现代替代方案。它返回一个值,使用严格比较,不需要 break 语句,如果没有 arm 匹配,则会抛出错误,使其更安全、更简洁。

是的。人工智能可以将冗长的 if-else 链重写为等效的 switch 语句或 PHP 8 match 表达式,keeping 逻辑相同,但代码更简洁易读。之后测试结果。

是的。人工智能可以检查你的循环条件和计数器,发现缺失的增量或永远不会变为假的条件,并提出修复建议,使循环按预期终止。

总结一下这篇文章: