PHP 提供了多种循环和判断结构,用于控制代码的执行流程。以下是详细的分类和示例:
一、循环结构
1.循环
for
适用于已知循环次数的情况。
php
for ($i = 0; $i < 5; $i++) {
echo "当前值: $i\n";
// 输出:0 1 2 3 4
2.循环
while
先判断条件,条件成立则执行。
php
$i = 0;
while ($i < 5) {
echo "当前值: $i\n";
$i++;
// 输出:0 1 2 3 4
3.循环
do...while
先执行一次,再判断条件。
php
$i = 0;
do {
echo "当前值: $i\n";
$i++;
} while ($i < 5);
// 输出:0 1 2 3 4
4.循环
foreach
遍历数组或对象(最常用)。
php
$colors = ["红", "绿", "蓝"];
foreach ($colors as $color) {
echo "$color\n";
// 输出:红 绿 蓝
// 带键名遍历
foreach ($colors as $key => $color) {
echo "键名: $key, 值: $color\n";
二、判断结构
1.条件判断
if...else
php
$age = 18;
if ($age >= 18) {
echo "成年人";
} else {
echo "未成年人";
2.多条件判断
switch...case
php
$day = "Mon";
switch ($day) {
case "Mon":
echo "星期一";
break;
case "Tue":
echo "星期二";
break;
default:
echo "其他日期";
3.三元运算符()
简化。
if...else
php
$age = 20;
$status = ($age >= 18) ? "成年人" : "未成年人";
echo $status; // 输出:成年人
4.(PHP 7+)
null 合并运算符(
检查变量是否存在,否则返回默认值。
php
$username = $_GET['user'] ?? '匿名用户';
echo $username;
三、循环与判断的结合
1.跳出循环
break
php
for ($i = 0; $i < 10; $i++) {
if ($i == 5) {
break; // 当 $i=5 时终止循环
echo "$i\n";
// 输出:0 1 2 3 4
2.跳过当前迭代
continue
php
for ($i = 0; $i < 5; $i++) {
if ($i == 2) {
continue; // 跳过 $i=2 的这一次循环
echo "$i\n";
// 输出:0 1 3 4
3.退出函数
return
php
function test($num) {
if ($num < 0) {
return "不能是负数";
return "合法数值";
echo test(-1); // 输出:不能是负数
四、特殊控制结构
1.(慎用)
goto
跳转到指定标签(可读性差,尽量避免)。
php
goto a;
echo "这行不会执行";
a:
echo "跳转到这里";
// 输出:跳转到这里
2.(PHP 8+)
match
类似,但更严格(严格比较)。
switch
php
$code = 404;
$result = match ($code) {
200 => "成功",
404 => "未找到",
500 => "服务器错误",
default => "未知状态",
echo $result; // 输出:未找到
五、总结
结构
用途
示例
for
已知次数循环
for ($i=0; $i<5; $i++)
while
条件循环
while ($x < 10)
foreach
遍历数组
foreach ($arr as $item)
if...else
条件判断
if ($a > $b) { ... }
switch
多条件判断
switch ($x) { case 1: ... }
break
跳出循环
break;
continue
跳过当前迭代
continue;
(PHP 8+)
match
严格匹配
match ($x) { 1 => "一", ... }
掌握这些结构后,可以灵活处理各种逻辑控制需求!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.