从零开始: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编程水平! 奥顺互联原创文章,转载请注明出处!

相关推荐
ajassi20002 小时前
开源 C++ QT QML 开发(二十)多媒体--摄像头拍照
c++·qt·开源
川石课堂软件测试2 小时前
MySQL数据库之DBA命令
数据库·网络协议·mysql·http·单元测试·prometheus·dba
2501_915921433 小时前
iOS 是开源的吗?苹果系统的封闭与开放边界全解析(含开发与开心上架(Appuploader)实战)
android·ios·小程序·uni-app·开源·iphone·webview
西京刀客3 小时前
开源 ETL(Extract,Transform,Load)工具之Apache Hop
开源·apache·etl·hop
ybb_ymm4 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
程序新视界5 小时前
为什么要尽量将MySQL表字段要设置为NOT NULL?
数据库·mysql·dba
zskj_qcxjqr5 小时前
七彩喜艾灸机器人:当千年中医智慧遇上现代科技
大数据·人工智能·科技·机器人
一只代码狗6 小时前
Docker Desktop在MAC上无法强制关闭的命令清理方式
macos·docker·php
CoderJia程序员甲6 小时前
GitHub 热榜项目 - 日榜(2025-10-11)
ai·开源·github·ai编程·github热榜
CRMEB系统商城7 小时前
CRMEB多商户系统(PHP)v3.3正式发布,同城配送上线[特殊字符]
java·开发语言·小程序·php