跳转到内容

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"

数组操作[编辑 | 编辑源代码]

flowchart TD A[原始数组] --> B[array_map] A --> C[array_filter] B --> D[新数组] C --> E[过滤后数组]

// 示例:数组映射与过滤
$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]

数学计算[编辑 | 编辑源代码]

x2+y2

// 示例:随机数与三角函数
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); 
// 输出:"&lt;script&gt;alert(&quot;XSS&quot;)&lt;/script&gt;"

性能优化建议[编辑 | 编辑源代码]

  • 优先使用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

参见[编辑 | 编辑源代码]