1. 基础输出与变量处理
1.1 输出函数:echo 与 print
在 PHP 的后端开发中,输出函数是最基础的手段,用于将数据渲染到浏览器或日志系统中。echo可以输出一个或多个表达式,而 print只能输出一个表达式且会返回整数表示是否成功,因此在混合表达式时更依赖 运算顺序。
此外,输出缓冲可以控制输出时机,避免直接输出导致页面结构错乱,常用的控制函数包括 ob_start、ob_get_clean 等。
在实际场景中,输出与转义也很关键,htmlspecialchars 可以将用户输入转义为安全的 HTML,防止跨站脚本攻击。
1.2 变量与默认值处理
在后端逻辑中,isset用于检测变量是否已设置且非 NULL,empty用于判断变量是否为空值(若为 false、0、空字符串、NULL 等均视为空)。
此外,unset用于销毁变量,释放内存;为了简洁地提供默认值,空合并运算符 ??可以快速实现,如 $name ?? 'guest'。
结合类型判断,使用严格比较运算符 ===、!==,可以避免隐式类型转换带来的逻辑错误。
2. 条件与循环相关函数
2.1 条件判断与值比较相关函数
除了前述的 isset、empty,还可以使用 is_null、is_bool、is_numeric 等函数对变量进行类型判断,确保逻辑分支的准确性。
在需要基于多条件进行路由或权限判断时,in_array 可以快速判断一个值是否在数组中,提升条件分支的可读性。
2.2 循环与遍历相关函数
遍历数组时,count 统计元素个数,配合 foreach 进行分支处理;array_map、array_filter、array_reduce 等函数提供函数式编程风格的处理能力,提升代码的可维护性。
在处理数据管道时,结合 array_walk 可以对数组的每一个元素执行回调操作,减少显式循环的代码量。
3. 字符串处理
3.1 基础截取与长度计算
字符串操作是后端接口处理与文本模板渲染的常见需求。substr 用于截取子串,mb_substr 可以在多字节编码场景中正确处理中文等字符;
长度相关函数中,strlen 统计字节长度,mb_strlen 用于多字节字符长度。
3.2 查找、替换与正则匹配
查找子串时,strpos 可返回首次出现的位置,若未找到则返回 false;替换字符串时,str_replace 是简单直接的选择,而对复杂模式匹配可以使用正则函数 preg_match、preg_replace。
4. 数组函数
4.1 数组合并、切片与键值提取
处理集合时,array_merge 合并数组,array_slice 可以从指定偏移量截取子数组;若需要单独提取键或值,array_keys、array_values 是最直接的工具。
结合 array_splice 可以就地修改数组结构,适用于分页、排序等场景。
4.2 数组过滤与映射
使用 array_filter 可以过滤掉不符合条件的元素,array_map 进行元素级变换,array_reduce 则将数组归约为单一值,常用于聚合计算。
5. 文件与网络操作
5.1 文件读取与写入
常见的文件读取路径包括一次性读取整文件与逐行读取两种模式,file_get_contents 适合小文件的快速读取,fopen、fgets 等组合适合大文件的逐行处理。
写入方面,file_put_contents 是高效且简洁的写入方式;对于需要自定义写入行为的场景,可以使用 fopen、fwrite、fclose。
5.2 流与缓冲
在处理实时数据或流式输出时,fopen、fgets、fgets 等函数用于逐行读取;ob_flush、flush 可以配合浏览器显示进度或日志输出。
";
}
fclose($handle);
?> 6. 数据编码与解码
6.1 JSON 编码与解码
在前后端数据交互中,json_encode 与 json_decode 是最常用的序列化与反序列化函数;使用 JSON_UNESCAPED_UNICODE 等选项可以保留中文字符。
为了防止在解码时返回错误,建议对 第二个参数进行显式处理,必要时结合 JSON_ERROR_NONE 等常量进行错误检测。
"张三", "age" => 28];
$json = json_encode($array, JSON_UNESCAPED_UNICODE);
$decoded = json_decode($json, true);
?> 7. 数据库操作常用函数(过程化风格)
7.1 MySQLi 过程化接口
在没有使用 ORM 的场景,mysqli_connect 用于建立数据库连接,mysqli_query 执行 SQL,mysqli_fetch_assoc 将结果行映射为关联数组,mysqli_error 获取错误信息。

为了确保资源释放,务必在结束时调用 mysqli_close。在实际项目中,错误处理应结合 try/catch 及返回值检查,实现健壮性。
7.2 PDO:面向对象的数据库访问
虽然大多数 PHP 函数是过程化风格,但在数据库操作中,PDO 提供面向对象的统一接口,具有预处理(prepare)、参数绑定(bindValue)、事务控制等强大能力,有利于提升安全性与维护性。
常用模式为 try-catch 捕获异常,并结合 prepare、execute、fetchAll 等方法实现安全查询。
PDO::ERRMODE_EXCEPTION]);$stmt = $pdo->prepare("SELECT id, name FROM users WHERE status = :status");$stmt->execute(['status' => 'active']);$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);foreach ($rows as $r) {echo $r['id'] . " => " . $r['name'] . PHP_EOL;}
} catch (PDOException $e) {// 处理错误
}
?> 

