PHP内置函数
外观
PHP内置函数是PHP语言核心提供的预定义功能集合,无需额外安装扩展即可直接调用。这些函数覆盖了字符串处理、数组操作、文件系统交互、数学计算等常见编程需求,是PHP开发的基础工具。
概述[编辑 | 编辑源代码]
PHP内置函数按功能可分为以下几大类:
- 字符串处理函数:如
strlen()
,substr()
- 数组函数:如
array_map()
,array_filter()
- 数学函数:如
rand()
,sqrt()
- 日期时间函数:如
date()
,strtotime()
- 文件系统函数:如
file_get_contents()
,fopen()
核心函数详解[编辑 | 编辑源代码]
字符串处理[编辑 | 编辑源代码]
// 示例:字符串长度与截取
$text = "Hello, 世界";
echo strlen($text); // 输出:13(字节长度,UTF-8中文字符占3字节)
echo mb_strlen($text); // 输出:8(字符长度)
echo substr($text, 0, 5); // 输出:"Hello"
数组操作[编辑 | 编辑源代码]
// 示例:数组映射与过滤
$numbers = [1, 2, 3, 4];
$squared = array_map(fn($n) => $n ** 2, $numbers); // [1, 4, 9, 16]
$evens = array_filter($numbers, fn($n) => $n % 2 === 0); // [2, 4]
数学计算[编辑 | 编辑源代码]
// 示例:随机数与三角函数
echo rand(1, 100); // 1~100随机整数
echo hypot(3, 4); // 输出:5(勾股定理计算)
高级特性[编辑 | 编辑源代码]
可变函数调用[编辑 | 编辑源代码]
PHP允许通过变量动态调用函数:
function greet($name) { return "Hello, $name!"; }
$func = 'greet';
echo $func('Alice'); // 输出:"Hello, Alice!"
参数类型声明[编辑 | 编辑源代码]
PHP 7+支持严格的参数类型检查:
function add(int $a, int $b): int {
return $a + $b;
}
echo add(2, '3'); // 输出:5(类型强制转换)
// echo add(2, '3a'); // TypeError
实际应用案例[编辑 | 编辑源代码]
场景:用户输入验证
function sanitizeInput(string $input): string {
$trimmed = trim($input);
$cleaned = htmlspecialchars($trimmed, ENT_QUOTES);
return filter_var($cleaned, FILTER_SANITIZE_STRING);
}
$userInput = ' <script>alert("XSS")</script> ';
echo sanitizeInput($userInput);
// 输出:"<script>alert("XSS")</script>"
性能优化建议[编辑 | 编辑源代码]
- 优先使用
isset()
而非strlen()
检查空字符串 - 大数组处理时选择
array_key_exists()
而非in_array()
- 重复调用日期函数时,考虑缓存
date_default_timezone_get()
结果
常见问题[编辑 | 编辑源代码]
Q: 如何判断函数是否内置?
A: 使用function_exists()
检测,或查阅PHP官方手册
Q: 为什么某些数学函数结果不精确?
A: 浮点数计算存在精度限制,建议使用BC Math
扩展处理精确计算:
echo 0.1 + 0.2; // 输出:0.30000000000000004
echo bcadd('0.1', '0.2', 1); // 输出:0.3