字符串处理

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

PHP 提供大量字符串函数。字符串可以用单引号或双引号:双引号内会解析变量和转义符,单引号原样输出。

常用函数

  • 长度:strlen / mb_strlen(中文字符用 mb_ 系列);
  • 查找:strpos / str_contains(PHP8+);
  • 替换:str_replace / substr_replace
  • 截取:substr / mb_substr
  • 大小写:strtoupper / strtolower
  • 清理:trim / ltrim / rtrim
  • 拆分合并:explode / implode
  • 格式化:sprintfnumber_format
  • HTML 转义:htmlspecialchars(防 XSS 必备)。

代码示例

<?php
$text = "  Hello, CodeCourse!  ";

echo strlen(trim($text));        // 18
echo "<br>" . strtoupper($text);
echo "<br>" . strtolower($text);

// 中文字符处理用 mb_ 系列
$chinese = "你好,世界";
echo "<br>长度:" . mb_strlen($chinese);    // 5
echo "<br>" . mb_substr($chinese, 0, 2);    // 你好

// 查找与替换
echo "<br>" . (str_contains($text, "CodeCourse") ? "包含" : "不包含");
echo "<br>" . str_replace("CodeCourse", "教程站", $text);

// 拆分合并
$tags = explode(",", "php,mysql,nginx");
echo "<br>" . implode(" | ", $tags);

// 数字格式化
echo "<br>" . number_format(1234567.891, 2);   // 1,234,567.89

// 输出安全转义(防止 XSS)
$userInput = "<script>alert(1)</script>";
echo "<br>" . htmlspecialchars($userInput);
?>
📚 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)写入文件