从零开始:PHP基础教程系列-第3篇:控制结构:条件语句与循环

从零开始:PHP基础教程系列

第3篇:控制结构

一、控制结构的概念

控制结构是编程语言中用于控制程序执行流程的语句。通过控制结构,程序可以根据条件执行不同的代码块,或者重复执行某些操作。在PHP中,主要的控制结构包括条件语句和循环结构。

二、条件语句

条件语句允许程序根据特定条件执行不同的代码块。PHP提供了几种主要的条件语句:

1. if 语句

if 语句用于根据条件执行代码块。如果条件为真,则执行相应的代码。

php 复制代码
<?php
$age = 18;

if ($age >= 18) {
    echo "你是成年人。";
}
?>
2. if...else 语句

if...else 语句允许在条件为假时执行另一段代码。

php 复制代码
<?php
$age = 16;

if ($age >= 18) {
    echo "你是成年人。";
} else {
    echo "你是未成年人。";
}
?>
3. if...elseif...else 语句

if...elseif...else 语句用于处理多个条件。

php 复制代码
<?php
$score = 85;

if ($score >= 90) {
    echo "优秀";
} elseif ($score >= 75) {
    echo "良好";
} elseif ($score >= 60) {
    echo "合格";
} else {
    echo "不合格";
}
?>
4. switch 语句

switch 语句用于根据变量的值执行不同的代码块,适合处理多个条件的情况。

php 复制代码
<?php
$day = 3;

switch ($day) {
    case 1:
        echo "星期一";
        break;
    case 2:
        echo "星期二";
        break;
    case 3:
        echo "星期三";
        break;
    default:
        echo "未知的星期";
}
?>

三、循环结构

循环结构用于重复执行某段代码,直到满足特定条件。PHP提供了几种主要的循环结构:

1. while 循环

while 循环在条件为真时重复执行代码块。

php 复制代码
<?php
$count = 1;

while ($count <= 5) {
    echo "计数: $count\n";
    $count++;
}
?>
2. do...while 循环

do...while 循环至少执行一次代码块,然后在条件为真时继续执行。

php 复制代码
<?php
$count = 1;

do {
    echo "计数: $count\n";
    $count++;
} while ($count <= 5);
?>
3. for 循环

for 循环适合已知次数的循环。

php 复制代码
<?php
for ($i = 1; $i <= 5; $i++) {
    echo "计数: $i\n";
}
?>
4. foreach 循环

foreach 循环专门用于遍历数组。

php 复制代码
<?php
$fruits = ["苹果", "香蕉", "樱桃"];

foreach ($fruits as $fruit) {
    echo "水果: $fruit\n";
}
?>

四、控制循环的执行

在循环中,可以使用 breakcontinue 语句控制循环的执行。

  • break:终止循环。
  • continue:跳过当前迭代,继续下一次循环。
php 复制代码
<?php
for ($i = 1; $i <= 5; $i++) {
    if ($i == 3) {
        continue; // 跳过3
    }
    echo "计数: $i\n";
}
?>

五、小结

在本篇文章中,我们介绍了PHP中的控制结构,包括条件语句和循环结构。通过这些控制结构,程序可以根据不同的条件执行不同的操作,或者重复执行某些代码块。掌握控制结构是编写复杂逻辑程序的基础。

在下一篇文章中,我们将探讨函数的定义与使用,帮助你更好地组织和重用代码。继续保持学习的热情,迈向更高的PHP编程水平! 奥顺互联原创文章,转载请注明出处!

相关推荐
武子康29 分钟前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
strayCat232552 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源
大大大大晴天2 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
Moment3 小时前
OpenClaw 从能聊到能干差的是这 50 个 Skills 😍😍😍
前端·后端·开源
BingoGo4 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack4 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
草梅友仁4 小时前
墨梅博客 1.7.0 发布与 AI 开发实践 | 2026 年第 9 周草梅周报
开源·github·ai编程
ursazoo19 小时前
写了一份 7000字指南,让 AI 帮我消化每天的信息流
人工智能·开源·github
于眠牧北1 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
冬奇Lab1 天前
一天一个开源项目(第37篇):awesome-selfhosted - 自托管软件资源集合
开源·自动化运维·资讯