PHP 标准库:完整概述
PHP 是 Web 开发中最流行的语言之一,其标准库为开发者提供了一套强大的现成解决方案。在本概述中,我们将详细解析 PHP 标准库的主要组件,这些组件能够解决从简单的字符串处理到复杂的数据库和网络协议操作等各种任务。
1. 数组操作 (array_*)
数组操作函数是 PHP 中最常用的功能之一。标准库包含超过 80 个用于数组操作的函数。
- array_map() — 对数组中的每个元素应用回调函数
- array_filter() — 使用回调函数过滤数组元素
- array_reduce() — 迭代地将数组简化为单个值
- array_merge() — 合并一个或多个数组
- array_search() — 在数组中搜索值并返回键名
<?php$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// 过滤出偶数$even = array_filter($numbers, function($n) { return $n % 2 === 0;});
// 每个元素加倍$doubled = array_map(function($n) { return $n * 2;}, $numbers);
// 所有元素的总和$sum = array_reduce($numbers, function($carry, $item) { return $carry + $item;}, 0);
echo "偶数: " . implode(', ', $even) . "<br>";echo "加倍后: " . implode(', ', $doubled) . "<br>";echo "总和: $sum";?>2. 字符串函数
PHP 提供了丰富的字符串处理函数集,包括通过 mbstring 扩展处理多字节编码的功能。
- strlen() / mb_strlen() — 获取字符串长度
- strpos() / mb_strpos() — 查找子字符串位置
- substr() / mb_substr() — 提取子字符串
- str_replace() — 替换子字符串
- explode() / implode() — 分割/合并字符串
- trim() — 去除字符串首尾的空格
<?php$text = " 你好,世界!PHP 太棒了。 ";
// 去除多余空格$clean = trim($text);
// 替换子字符串$replaced = str_replace("太棒了", "很酷", $clean);
// 将字符串分割成单词$words = explode(" ", $replaced);
// 获取前 10 个字符$first10 = mb_substr($clean, 0, 10, 'UTF-8');
echo "清理后的文本: '$clean'<br>";echo "替换后: '$replaced'<br>";echo "前 10 个字符: '$first10'<br>";echo "单词数量: " . count($words);?>3. 日期和时间处理 (DateTime)
DateTime 类及其派生类提供了面向对象的日期处理接口。
<?php// 创建日期对象$date = new DateTime('2024-12-25 10:30:00');
// 格式化输出echo $date->format('Y-m-d H:i:s') . "<br>";
// 添加时间间隔$date->add(new DateInterval('P10D')); // +10 天echo "10 天后: " . $date->format('Y-m-d') . "<br>";
// 计算日期差$now = new DateTime();$diff = $now->diff($date);echo "距离目标日期还有: {$diff->days} 天";
// 处理时区$date->setTimezone(new DateTimeZone('America/New_York'));echo "<br>在纽约: " . $date->format('Y-m-d H:i:s');?>4. 文件输入输出
标准库包含大量用于文件系统操作的函数。
- file_get_contents() — 将整个文件读入字符串
- file_put_contents() — 将字符串写入文件
- fopen(), fread(), fwrite()