流程控制

PHP 教程 · 第 6 章 · 7 次浏览

PHP 的流程控制语法与 C/Java 类似:if/else、switch、for、while、foreach。

条件与循环

  • if / elseif / else:多分支;
  • switch:多个固定值匹配;
  • for:已知次数循环;
  • while / do-while:条件循环;
  • foreach:遍历数组(最常用);
  • break / continue:跳出 / 跳过。

PHP 还支持"替代语法"(冒号 + endif/endforeach),常用于模板文件中,代码更易读。

代码示例

<?php
// if 分支
$score = 85;
if ($score >= 90) {
    echo "优秀";
} elseif ($score >= 60) {
    echo "及格";
} else {
    echo "不及格";
}

// for 循环
for ($i = 1; $i <= 5; $i++) {
    echo "<br>第 $i 次";
}

// foreach 遍历数组(最常用)
$fruits = ["苹果", "香蕉", "橙子"];
foreach ($fruits as $index => $fruit) {
    echo "<br>[$index] $fruit";
}

// foreach 遍历关联数组
$user = ["name" => "小王", "age" => 25];
foreach ($user as $key => $value) {
    echo "<br>$key: $value";
}

// 替代语法(模板中用)
if ($score >= 60): ?>
    <p>恭喜,通过考试!</p>
<?php endif; ?>
📚 PHP 语法速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
写法 / 语法作用
&lt;?php ... ?&gt;PHP 代码块标记
echo "hello";输出字符串
$name = "张三";变量(以 $ 开头,无需声明类型)
if ($x > 0) { } else { }条件判断
foreach ($arr as $k => $v) { }遍历数组(最常用)
for ($i = 0; $i < 10; $i++) { }计数循环
function fn($a) { return $a; }定义函数
array("a" => 1)关联数组(PHP 的"字典")
count($arr)数组长度
isset($x) / empty($x)变量是否存在 / 是否为空
$_GET["key"] / $_POST["key"]获取表单 / 查询参数
$_SESSION["user"]会话数据读写(需 session_start())
$_COOKIE["key"]读取 Cookie
header("Location: /index.php");页面跳转
mysqli_connect($host, $user, $pass, $db)连接 MySQL(旧接口,新项目用 PDO)
new PDO($dsn, $user, $pass)连接 MySQL(推荐,防 SQL 注入)
$stmt->prepare($sql)预处理语句(防 SQL 注入)
htmlspecialchars($str)HTML 转义(防 XSS)
strlen($s) / mb_strlen($s)字符串长度
explode(",", $s) / implode(",", $arr)字符串拆分 / 拼接
json_encode($arr) / json_decode($s)数组与 JSON 互转
include / require引入文件(require 报错即停)
date("Y-m-d H:i:s")当前时间格式化
$_FILES["file"]文件上传数据
file_put_contents($path, $data)写入文件