PHP 常用函数实用速查手册

Ivy
Ivy
发布时间:2026-10-14 | 3人浏览过
原创

本文汇集了 PHP 开发中不可或缺的常用函数资源,内容聚焦于日常编码最高频的场景。主要覆盖三大模块:利用 date 处理时间与格式化输出;通过 substr、str_replace 等进行精准的字符串截取与替换;以及运用 array_push、json_encode 等实现灵活的数据结构增删改查与序列化。这些基础函数的熟练运用能显著简化逻辑编写,提高 PHP 脚本的执行效率。

时间日期处理函数

在处理时间戳和显示格式时,date() 是最核心的函数。它可以根据传入的格式字符生成对应格式的日期和时间字符串。

$date = date("Y-m-d");         // 生成类似 "2023-10-01" 的年月日格式
$dateWithTime = date("Y-m-d H:i:s"); // 生成带时分秒的标准格式 "2023-10-01 12:00:00"

文件包含机制的差异

在引入外部文件时,需根据对错误的容忍度选择加载方式,这直接影响程序的容错能力:

  • require("file.php"):在脚本开始执行前读取文件。如果文件不存在或发生错误,会导致致命的 fatal error,程序中断。
  • include("file.php"):仅在代码执行到该行时才读取文件。如果出错,只会抛出警告(warning),但程序会继续执行后续逻辑。

常用字符串处理函数

字符串处理是 PHP 的基础场景,以下是各类高频操作的实例说明:

第1步:获取长度与连接拼接

使用 strlen 统计包含空格在内的字符总数;使用 implode 将数组元素用指定分隔符连接成新字符串。

// 计算字符串长度,空格也算一个字符
$str = " sdaf sd ";
$len = strlen($str);

// 使用分隔符连接数组元素,结果为 "a-b-c"
$concatenatedStr = implode("-", array("a", "b", "c"));

第2步:分割、修剪与截取子串

利用 explode 按字符切分字符串,或用 ltrim/rtrim/trim 清理首尾空白及特定字符,substr 则负责提取子串。

// 从左侧开始切割字符串,限制返回数组长度为4个元素
$parts = explode("a", "asddad addsadassd dasdadfsdfasdaaa", 4);

// 剔除左侧以 "a" 开头的字符
$trimmedLeft = ltrim("a asd ", "a");

// 剔除左右两侧的空格
$trimmedBoth = trim(" sdsdfas ");

// 从索引 0 开始截取 4 个字符
$subString = substr("abcdefgh", 0, 4); // 结果: abcd

第3步:替换、大小写转换与 HTML 转义

当需要批量替换文本或调整显示状态时,可使用相关函数。特别注意 htmlentities 对特殊标签的原始化输出需求。

// 将字符串中的 'a' 全部替换为空,区分大小写
$replaced = str_replace("a", "", "abcabcAbca");

// 将首字母变为大写
$titleCase = ucfirst("asdf");

// 将 HTML 特殊字符转换为实体,例如 <br/> 会被原样打印
$safeHtml = htmlentities("<br/>");

第4步:定位字符位置与添加转义符

查找功能依赖 strpos/strrpos 定位首次或最后一次出现的位置;addcslashes 用于在指定字符前增加反斜杠转义。

// 获取子串首次出现的索引位置,首个字符索引为 0
$index = strpos("asagaab", "ab");

// 获取子串最后一次出现的索引位置
$lastIndex = strrpos("asagaabadfab", "ab");

// 在 'a', 'k', 'd' 这三个字符前添加反斜杠
$escapedStr = addcslashes("abcdefghijklmn", "akd");

第5步:格式化数字

处理金额或数值展示时,number_format 提供了强大的千位分隔和小数保留功能。

// 保留两位小数,小数点替换为 'd',千位间隔替换为 'a'
$formatted = number_format(1231233.1415, 2, "d", "a");

常用数组操作方法

数组是 PHP 的灵魂,掌握其内置函数的指针移动和数据重组技巧至关重要。

第1步:判断元素存在性与类型查询

检查数组内是否有某值 in_array,或是否有某键 array_key_exists。

$arr = array("k0" => "a", "k1" => "b", "k2" => "c");

// 判断数组是否包含元素值 'b'
$isContains = in_array("b", $arr); 

// 判断数组是否包含键名 'k1'
$hasKey = array_key_exists("k1", $arr); 

// 获取当前数组的长度
$count = count($arr); 

第2步:数组指针的移动与取值

PHP 数组有一个内部指针指向当前元素。通过一系列函数控制指针流转以实现迭代或随机访问。

// 重置指针指向第一个元素并获取该值
$firstVal = reset($arr);

// 移动指针到下一个元素并获取值
$nextVal = next($arr);

// 移动指针到上一个元素并获取值
$prevVal = prev($arr);

// 获取当前指针指向元素的键名
$currentKey = key($arr);

// 获取当前指针指向元素的值
$currentValue = current($arr);

// 同时返回键和值组成的关联数组,并移动指针
$kvArray = each($arr);

// 指向最后一个元素并获取值
$lastVal = end($arr); 

第3步:尾部与头部的增删操作

利用栈(LIFO)或队列(FIFO)的特性进行高效数据进出。

// 在末尾追加一个或多个元素,返回新长度
$newLength = array_push($arr, "d", "extra");

// 在头部插入一个或多个元素
$insertedLength = array_unshift($arr, "t1", "t2");

// 弹出(移除并返回)末尾的一个元素
$poppedVal = array_pop($arr);

// 移出(移除并返回)头部的一个元素
$shiftedVal = array_shift($arr); 

第4步:排序、合并与切片

对数据进行结构化整理。

// 按键值的 ASCII 码升序重排,并重新索引
sort($arr);

// 按值降序排列
rsort($arr);

// 合并两个或多个数组
$merged = array_merge($arr, array("x", "y"));

// 截取数组:从索引2开始取1个长度的元素
$sliced = array_slice($arr, 2, 1); 

第5步:其他高级重组工具

包括去重、填充、范围生成及数据块划分。

// 去除数组中重复的值,不改变顺序
$uniqueArr = array_unique($arr);

// 生成一个范围数组,例如从3开始每次加2直到9
$ranged = range(3, 9, 2); 

// 将数组分成大小为2的小数组块
$chunked = array_chunk(array("a","b","c","d"), 2);

// 将数组中的所有可计算数值相加
$total = array_sum(array("a", 2, "cssf"));

JSON 数据序列化与反序列化

在前后端交互或配置存储中,数组与 JSON 字符串的互转极为常见。

$myArray = array('k1' => 'val1', 'k2' => 'val2');

// 将 PHP 数组转换为 JSON 字符串
$jsonString = json_encode($myArray);
echo $jsonString; // 输出: {"k1":"val1","k2":"val2"}

// 将 JSON 字符串解码回 PHP 对象,并强制转换为数组以便遍历
$resultArray = (array)json_decode($jsonString);
var_dump($resultArray); 
以上就是 PHP 常用函数的详细内容,更多关于 PHP 开发基础与数据处理的资料请关注本站其它相关文章!
相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表