PHP内置函数功能一览
PHP作为一种强大的服务器端脚本语言,其丰富的内置函数库是开发者高效编程的基石。这些函数无需加载任何扩展即可直接使用,覆盖了字符串处理、数组操作、文件系统、日期时间、数学运算等几乎所有常见开发需求。掌握这些内置函数,能显著提升代码编写效率与程序性能。
一、 字符串处理函数
字符串操作是Web开发中最常见的任务之一。PHP提供了大量函数用于字符串的切割、连接、搜索、替换和格式化。
strlen:获取字符串长度。
strpos / stripos:查找字符串首次出现的位置(区分/不区分大小写)。
substr:返回字符串的子串。
str_replace:子字符串替换。
trim / ltrim / rtrim:去除字符串两端或指定字符。
strtolower / strtoupper:将字符串转化为小写/大写。
explode / implode:使用一个字符串分割另一个字符串/将数组元素组合为字符串。
示例:使用 explode 和 implode 处理数据。
// 将字符串按逗号分割成数组
$fruits = "apple,banana,orange";
$fruitArray = explode(",", $fruits);
print_r($fruitArray); // 输出:Array ( [0] => apple [1] => banana [2] => orange )
// 将数组用连字符连接成字符串
$newString = implode("-", $fruitArray);
echo $newString; // 输出:apple-banana-orange二、 数组处理函数
数组是PHP中极其重要的数据结构,相关函数用于遍历、排序、合并、过滤等操作。
count:计算数组中的元素数目。
array_push / array_pop:向数组尾部插入/弹出一个元素。
array_merge:合并一个或多个数组。
array_keys / array_values:返回数组中所有的键名/键值。
in_array:检查数组中是否存在某个值。
sort / rsort / asort / ksort:对数组进行升序、降序、按值升序保键、按键升序排序。
array_map:为数组的每个元素应用回调函数。
array_filter:用回调函数过滤数组中的元素。
示例:使用 array_map 和 array_filter 处理数组。
$numbers = [1, 2, 3, 4, 5];
// 将每个元素平方
$squared = array_map(function($n) {
return $n * $n;
}, $numbers);
print_r($squared); // 输出:Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
// 过滤出偶数
$evens = array_filter($numbers, function($n) {
return $n % 2 == 0;
});
print_r($evens); // 输出:Array ( [1] => 2 [3] => 4 )三、 文件系统函数
这些函数用于与服务器文件系统交互,包括文件读写、目录遍历、属性获取等。
file_get_contents / file_put_contents:将整个文件读入字符串/将字符串写入文件。
fopen / fwrite / fclose:打开、写入、关闭文件句柄。
file_exists:检查文件或目录是否存在。
is_file / is_dir:判断给定文件名是否为一个正常的文件/目录。
scandir:列出指定路径中的文件和目录。
unlink:删除文件。
copy / rename:复制文件/重命名文件或目录。
示例:读取和写入文件。
// 读取文件内容
$content = file_get_contents('example.txt');
echo $content;
// 将内容写入新文件
file_put_contents('new_example.txt', 'This is new content.');
// 检查文件是否存在
if (file_exists('new_example.txt')) {
echo "File created successfully.";
}四、 日期与时间函数
处理日期和时间是Web应用的常见功能,如日志记录、内容发布时间显示等。
date:格式化本地日期和时间。
time:返回当前的Unix时间戳。
strtotime:将任何英文文本的日期时间描述解析为Unix时间戳。
mktime:取得一个日期的Unix时间戳。
date_default_timezone_set:设置脚本中所有日期/时间函数使用的默认时区。
示例:日期格式化与计算。
// 设置时区
date_default_timezone_set('Asia/Shanghai');
// 输出当前日期和时间
echo "Current time: " . date('Y-m-d H:i:s') . "<br>";
// 计算明天的时间
$tomorrow = strtotime('+1 day');
echo "Tomorrow: " . date('Y-m-d', $tomorrow);五、 数学运算函数
用于执行基本的数学运算,无需引入外部库。
abs:绝对值。
round / ceil / floor:对浮点数进行四舍五入、向上取整、向下取整。
rand / mt_rand:生成随机整数。
min / max:找出最小值/最大值。
pow:指数表达式。
sqrt:平方根。
示例:基础数学计算。
$num = -5.75; echo abs($num); // 输出:5.75 echo round($num); // 输出:-6 echo ceil($num); // 输出:-5 echo floor($num); // 输出:-6 // 生成1到100之间的随机数 echo mt_rand(1, 100);
六、 其他常用函数
除了以上分类,还有一些跨领域的实用函数。
isset / empty:检测变量是否已声明且非null / 是否为空。
is_numeric:检测变量是否为数字或数字字符串。
var_dump / print_r:打印变量的相关信息,用于调试。
json_encode / json_decode:对变量进行JSON编码/解码。
serialize / unserialize:产生一个可存储的值的表示(序列化)/ 从已存储的表示中创建PHP的值(反序列化)。
header:发送原生HTTP头。
exit / die:输出一条消息,并退出当前脚本。
示例:变量检查与JSON处理。
// 检查变量
$var = "Hello";
if (isset($var)) {
echo 'Variable is set.';
}
if (!empty($var)) {
echo 'Variable is not empty.';
}
// JSON编码与解码
$data = ['name' => 'John', 'age' => 30];
$jsonString = json_encode($data);
echo $jsonString; // 输出:{"name":"John","age":30}
$decodedData = json_decode($jsonString, true); // true参数返回关联数组
print_r($decodedData);PHP的内置函数库是其核心优势之一,种类繁多且功能强大。本文列举的仅是其中一部分最常用的函数。在实际开发中,建议开发者查阅官方手册(例如访问 https://www.ipipp.com 获取最新文档),根据具体需求选择最合适的函数,并注意函数在不同PHP版本中的可用性和行为差异,以编写出高效、健壮的代码。