PHP函数参考大全
开发工具

PHP函数参考大全

PHP是一种广泛使用的开源脚本语言,适合网站开发。下面是PHP常用函数的参考表,包含字符串与多字节、正则、数组与 JSON、数学运算、MySQL(含已废弃的 mysql_* 与推荐的 MySQLi/PDO)、文件与图像、会话与 Cookie、日期时间等说明,便于快速查找。
请输入你要搜索的函数 查询

字符串相关操作函数

去除空格或其他字符

trim 删除字符串两端空格或其他预定义字符
rtrim 删除字符串右边空格或其他预定义字符
chop rtrim() 的别名 chop() 与 Perl 的 chop() 函数有所不同,它会删除字符串的最后一个字符。
ltrim 删除字符串左边空格或其他预定义字符

字符串生成与转换

str_pad 使用另一个字符串填充字符串为指定长度
str_split 将字符串转换为数组
strrev 反转字符串
wordwrap 打断字符串为指定数量的字串
str_shuffle 随机打乱一个字符串
parse_str 将字符串解析成变量
number_format 通过千位分组来格式化字符串

字符串大小写转换

strtolower 将字符串转化为小写
strtoupper 将字符串转化为大写
ucfirst 将字符串的首字母转换为大写
lcfirst 将字符串的首字母转换为小写
ucwords 将字符串中每个单词的首字母转换为大写

html标签关联

htmlentities 将字符转换为HTML实体
htmlspecialchars 预定义字符串转HTML编码
nl2br 在字符串所有新行之前插入 HTML 换行标记 \n转换为<br>标签
strip_tags 从字符串中去除 HTML 和 PHP 标记
addcslashes 以 C 语言风格使用反斜线转义字符串中的字符
stripcslashes 反引用一个使用 addcslashes() 转义的字符串
addslashes 使用反斜线引用字符串
stripslashes 删除由addslashes添加的转义字符
quotemeta 字符串中某些预定义字符串前加反斜杠
chr 从指定的 ASCII 值返回字符
ord 返回字符串第一个字符的 ASCII 值

字符串比较

strcasecmp 不区分大小写比较两个字符串
strcmp 区分大小写比较两个字符串
strncmp 比较字符串前N个字符,区分大小写
strncasecmp 比较字符串前N个字符,不区分大小写
strnatcmp 按自然顺序比较两个字符串(如 "img2" 小于 "img10"),区分大小写
strnatcasecmp 按自然顺序比较两个字符串,不区分大小写

字符串查找替换

str_replace 字符串替换操作,区分大小写
str_ireplace 字符串替换操作,不区分大小写
substr_count 统计一个字符串,在另一个字符串中出现的次数
substr_replace 替换字符串中某串为另一个字符串
similar_text 返回两字符串相同字符的数量
strrchr 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串
strstr 返回一个字符串在另一个字符串中开始位置到结束位置的字符串
strchr strstr的别名,返回一个字符串在另一个中首次出现位置开始到末尾的字符串
stristr 返回一个字符串在另一个字符串中开始位置到结束位置的字符串,不区分大小写
strtr 转换字符串中某些字符
strpos 寻找字符中某些字符最先出现的位置
stripos 寻找字符中某些字符最先出现的位置,不区分大小写
strrpos 寻找字符中某些字符最后出现的位置
strripos 寻找字符中某些字符最后出现的位置,不区分大小写
strspn 返回字符串中首次符合mask的字符串长度
strcspn 返回字符串中不符合mask的字符串的长度

字符串统计

str_word_count 统计字符串含有的单词数
strlen 统计字符串长度
count_chars 统计字符串中所有字母出现的次数(0..255)

字符串编码

md5 计算字符串的 MD5 散列值
hash 生成一个哈希码
sha1 计算字符串的 SHA-1 散列值
base64_encode 对数据进行 MIME base64 编码
base64_decode 对 MIME base64 编码的数据解码

截取、分割与格式化

substr 截取字符串的一部分
explode 使用分隔符将字符串分割为数组
implode 将数组元素连接成字符串(join 为其别名)
str_repeat 重复一个字符串指定次数
sprintf 按格式返回格式化后的字符串
vsprintf 与 sprintf 类似,参数以数组传入
chunk_split 将字符串按固定长度分段并插入分隔符

URL 与查询串

parse_url 解析 URL,返回其组成部分(scheme、host、path、query 等)
http_build_query 根据数组或对象生成 URL 编码的查询字符串
rawurlencode 按 RFC 3986 对字符串编码(空格为 %20)
rawurldecode 解码 rawurlencode 编码的字符串
urlencode URL 编码字符串(空格为 +,常用于查询串)
urldecode 解码 urlencode 编码的字符串

多字节字符串(mbstring)

mb_strlen 按多字节字符计算字符串长度(UTF-8 中文常用)
mb_substr 按多字节安全截取子串
mb_strpos 查找子串首次出现位置(多字节安全)
mb_convert_encoding 转换字符编码(如 UTF-8 与 GBK)
mb_internal_encoding 设置/获取内部字符编码

Perl 兼容正则(PCRE)

preg_match 执行一次正则匹配
preg_match_all 全局正则匹配,收集所有匹配结果
preg_replace 正则查找并替换
preg_replace_callback 用回调函数返回的字符串做正则替换
preg_split 用正则分割字符串为数组
preg_quote 转义正则表达式特殊字符

数组相关函数

创建数组

array 生成一个数组
array_combine 生成一个数组,用一个数组的值作为键名,另一个数组的值作为值
range 创建并返回一个包含指定范围的元素的数组
compact 创建一个由参数所带变量组成的数组
array_fill 用给定的值填充生成数组

数组合并和拆分

array_chunk 把一个数组分割为新的数组块
array_merge 把两个或多个数组合并成一个数组
array_slice 在数组中根据条件取出一段值,并返回。

数组比较

array_diff 返回两个数组的差集数组
array_intersect 返回两个或多个数组的交集数组

数组查找替换

array_splice 把数组一部分删除把其他值替代
array_sum 返回数组中所有值的总和
in_array 在数组中搜索指定的值,区分大小写
array_key_exists 判断某个数组中是否存在指定的key

遍历、转换与提取

array_map 对数组每个元素调用回调,返回新数组
array_filter 用回调过滤数组元素,保留返回真的项
array_reduce 迭代地将数组归约为单个值
array_walk 对数组每个元素应用用户自定义函数(可改值)
array_walk_recursive 递归地对多维数组应用回调
array_column 取多维数组中某一列的值组成一维数组
array_pad 用指定值将数组填充到指定长度
extract 将数组中的变量导入到当前符号表(注意变量覆盖与安全问题)

数组指针操作

key 返回数组内部指针当前指向的键名
current 返回数组中的当前元素
next 把指向当前元素的指针移动到下一个元素位置,并返回当前元素的值
prev 把指向当前元素的指针移动到上一个元素位置,并返回当前元素的值
end 将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)
reset 把数组内部指针指向第一个元素,并返回该元素的值
list 用数组中的元素为一组变量赋值
array_shift 删除数组中的第一个元素,并返回被删除元素的值
array_unshift 在数组开头插入一个或者多个元素
array_push 向数组最后压入一个或多个元素
array_pop 删除数组最后一个元素

数组键值操作

shuffle 随机打乱数组元素顺序,并重排为从 0 开始的数字索引
count 计算数组中单元个数或者对象属性个数
array_flip 返回一个键值翻转后的数组
array_keys 返回数组所有键,组成一个数组
array_values 返回数组所有值,组成一个数组
array_reverse 返回一个元素顺序相反的数组
array_count_values 统计数组中所有值出现的次数
array_rand 从数组中随机抽取一个或者多个元素,注意是键名
each 返回当前键值对并前移指针(PHP 7.2 起弃用,PHP 8 已移除,请用 foreach)
array_unique 移除数组中重复的值

数组排序

sort 对数组排序
rsort 对数组逆向排序
asort 对数组进行排序并保持索引关系
arsort 对数组进行逆向排序并保持索引关系
ksort 对数组按照键名排序
krsort 对数组按照键名逆向排序
natsort 用"自然排序"算法对数组排序
natcasesort 用"自然排序"算法对数组进行不区分大小写字母的排序

JSON 相关函数

json_encode 将 PHP 值编码为 JSON 字符串
json_decode 将 JSON 字符串解码为 PHP 变量(对象或数组)
json_last_error 返回最后一次 JSON 编码/解码的错误码
json_last_error_msg 返回最后一次 JSON 错误的可读说明

数学相关函数

abs 求绝对值
ceil 进一法取整
floor 舍去法取整
fmod 返回除法的浮点数余数
pow 返回数的N次方
round 浮点数四舍五入法
sqrt 求平方根
max 求最大值
min 求最小值
mt_rand 更好的随机数
rand 随机数
pi 获得圆周率
octdec 八进制转换为十进制

MySQL 相关函数

mysql 扩展(已移除)

— mysql_* 函数在 PHP 7.0 起已移除,新项目请使用下方 MySQLi 或 PDO;下列条目仅供维护旧代码时对照。

mysql 扩展 API(历史)

mysql_affected_rows 取得前一次 MySQL 操作所影响的记录行数
mysql_client_encoding 返回字符集的名称
mysql_close 关闭 MySQL 连接
mysql_connect 打开一个到 MySQL 服务器的连接
mysql_create_db 新建一个 MySQL 数据库
mysql_data_seek 移动内部结果的指针
mysql_db_name 取得结果数据
mysql_db_query 发送一条 MySQL 查询
mysql_drop_db 丢弃(删除)一个 MySQL 数据库
mysql_errno 返回上一个 MySQL 操作中的错误信息的数字编码
mysql_error 返回上一个 MySQL 操作产生的文本错误信息
mysql_escape_string 转义一个字符串用于 mysql_query
mysql_fetch_array 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_fetch_assoc 从结果集中取得一行作为关联数组
mysql_fetch_field 从结果集中取得列信息并作为对象返回
mysql_fetch_lengths 取得结果集中每个输出的长度
mysql_fetch_object 从结果集中取得一行作为对象
mysql_fetch_row 从结果集中取得一行作为枚举数组
mysql_field_flags 从结果中取得和指定字段关联的标志
mysql_field_len 返回指定字段的长度
mysql_field_name 取得结果中指定字段的字段名
mysql_field_seek 将结果集中的指针设定为制定的字段偏移量
mysql_field_table 取得指定字段所在的表名
mysql_field_type 取得结果集中指定字段的类型
mysql_free_result 释放结果内存
mysql_get_client_info 取得 MySQL 客户端信息
mysql_get_host_info 取得 MySQL 主机信息
mysql_get_proto_info 取得 MySQL 协议信息
mysql_get_server_info 取得 MySQL 服务器信息
mysql_info 取得最近一条查询的信息
mysql_insert_id 取得上一步 INSERT 操作产生的 ID
mysql_list_dbs 列出 MySQL 服务器中所有的数据库
mysql_list_fields 列出 MySQL 结果中的字段
mysql_list_processes 列出 MySQL 进程
mysql_list_tables 列出 MySQL 数据库中的表
mysql_num_fields 取得结果集中字段的数目
mysql_num_rows 取得结果集中行的数目
mysql_pconnect 打开一个到 MySQL 服务器的持久连接
mysql_ping Ping 一个服务器连接,如果没有连接则重新连接
mysql_query 发送一条 MySQL 查询
mysql_real_escape_string 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集
mysql_result 取得结果数据
mysql_select_db 选择 MySQL 数据库
mysql_set_charset Sets the client character set
mysql_stat 取得当前系统状态
mysql_tablename 取得表名
mysql_thread_id 返回当前线程的 ID
mysql_unbuffered_query 向 MySQL 发送一条 SQL 查询,并不获取和缓存结果的行

MySQLi 扩展(PHP 7+ 推荐,过程式)

mysqli_connect 打开到 MySQL 服务器的新连接,返回 mysqli 对象
mysqli_close 关闭 MySQL 连接
mysqli_query 在连接上执行 SQL 查询
mysqli_fetch_assoc 从结果集取一行作为关联数组
mysqli_fetch_array 从结果集取一行作为关联数组、数字数组或二者
mysqli_real_escape_string 转义查询字符串中的特殊字符(仍优先使用预处理语句)
mysqli_prepare 准备一条 SQL 语句用于绑定参数执行(防 SQL 注入)
mysqli_stmt_bind_param 向预处理语句绑定变量参数
mysqli_stmt_execute 执行预处理语句

PDO(PHP 数据对象,推荐)

PDO::__construct 通过 DSN、用户名、密码创建数据库连接
PDO::prepare 准备一条 SQL 语句并返回 PDOStatement
PDO::query 执行 SQL 并返回 PDOStatement(注意拼接 SQL 的安全风险)
PDO::exec 执行一条 SQL 并返回受影响行数(用于无结果集的语句)
PDOStatement::execute 执行绑定参数后的预处理语句
PDOStatement::fetch 从结果集取下一行
PDOStatement::fetchAll 返回结果集中所有行的数组

文件目录处理相关函数

basename 返回路径中的文件名部分
chgrp 改变文件所属的组
chmod 改变文件模式
chown 改变文件的所有者
clearstatcache 清除文件状态缓存
copy 拷贝文件
delete 参见 unlink 或 unset
dirname 返回路径中的目录部分
disk_free_space 返回目录中的可用空间
disk_total_space 返回一个目录的磁盘总大小
diskfreespace disk_free_space 的别名
fclose 关闭一个已打开的文件指针
feof 测试文件指针是否到了文件结束的位置
fflush 将缓冲内容输出到文件
fgetc 从文件指针中读取字符
fgetcsv 从文件指针中读入一行并解析 CSV 字段
fgets 从文件指针中读取一行
fgetss 从文件指针中读取一行并过滤掉 HTML 标记
file_exists 检查文件或目录是否存在
file_get_contents 将整个文件读入一个字符串
file_put_contents 将一个字符串写入文件
file 把整个文件读入一个数组中
fileatime 取得文件的上次访问时间
filectime 取得文件的 inode 修改时间
filegroup 取得文件的组
fileinode 取得文件的 inode
filemtime 取得文件修改时间
fileowner 取得文件的所有者
fileperms 取得文件的权限
filesize 取得文件大小
filetype 取得文件类型

GD/Image函数

gd_info 取得当前安装的 GD 库的信息
getimagesize 取得图像大小
getimagesizefromstring Get the size of an image from a string
image_type_to_extension 取得图像类型的文件后缀
image_type_to_mime_type 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型
image2wbmp 以 WBMP 格式将图像输出到浏览器或文件
imagealphablending 设定图像的混色模式
imageantialias 是否使用抗锯齿(antialias)功能
imagearc 画椭圆弧
imagechar 水平地画一个字符
imagecharup 垂直地画一个字符
imagecolorallocate 为一幅图像分配颜色
imagecolorallocatealpha 为一幅图像分配颜色 + alpha
imagecolorat 取得某像素的颜色索引值
imagecolorclosest 取得与指定的颜色最接近的颜色的索引值
imagecolorclosestalpha 取得与指定的颜色加透明度最接近的颜色
imagecolorclosesthwb 取得与给定颜色最接近的色度的黑白色的索引

session函数

session_cache_expire 返回当前缓存到期
session_cache_limiter get和set the current缓存限制/金
session_commit session_write_close 的别名
session_decode 将会话数据从一个会话编码的字符串
session_destroy 销毁已注册到会话的所有数据
session_encode 将当前会话数据编码为一个字符串
session_id 获得和/或设置当前会话标识
session_is_registered 检查变量是否在会话中已经注册
session_module_name 获得和/或设置当前会话模块
session_name 获得和/或设置当前会话名称
session_regenerate_id 更新新生成的会话标识
session_register_shutdown 会话关机功能
session_register 注册一个或多个全局变量与当前会话
session_save_path 获取和/或设置当前会话保存路径
session_set_save_handler 设置用户级会话存储功能
session_start 开始新的或恢复现有的会话
session_status 返回当前会话状态
session_unregister 注销当前会话的一个全局变量
session_unset 自由所有会话变量
session_write_close 写会话数据和结束会话

cookie函数

setcookie() 设置cookie
setrawcookie 发送没有URL编码的cookie

Date/Time 函数

checkdate 验证一个格里高里日期
date_add 别名 DateTime::add
date_create_from_format 别名 DateTime::createFromFormat
date_create 别名 DateTime::__construct
date_date_set 别名 DateTime::setDate
date_default_timezone_get 取得一个脚本中所有日期时间函数所使用的默认时区
date_default_timezone_set 设定用于一个脚本中所有日期时间函数的默认时区
date_diff 别名 DateTime::diff
date_format 别名 DateTime::format
date_get_last_errors 别名 DateTime::getLastErrors
date_interval_create_from_date_string 别名 DateInterval::createFromDateString
date_interval_format 别名 DateInterval::format
date_isodate_set 别名 DateTime::setISODate
date_modify 别名 DateTime::modify
date_offset_get 别名 DateTime::getOffset
date_parse_from_format Get info about given date formatted according to the specified format
date_parse Returns associative array with detailed info about given date
date_sub 别名 DateTime::sub
date_sun_info Returns an array with information about sunset/sunrise and twilight begin/end
date_sunrise 返回给定的日期与地点的日出时间
date_sunset 返回给定的日期与地点的日落时间
date_time_set 别名 DateTime::setTime
date_timestamp_get 别名 DateTime::getTimestamp
date_timestamp_set 别名 DateTime::setTimestamp
date_timezone_get 别名 DateTime::getTimezone
date_timezone_set 别名 DateTime::setTimezone
date 格式化一个本地时间/日期
getdate 取得日期/时间信息
gettimeofday 取得当前时间
gmdate 格式化一个 GMT/UTC 日期/时间
gmmktime 取得 GMT 日期的 UNIX 时间戳
gmstrftime 根据区域设置格式化 GMT/UTC 时间/日期
idate 将本地时间日期格式化为整数
localtime 取得本地时间
microtime 返回当前 Unix 时间戳和微秒数
mktime 取得一个日期的 Unix 时间戳
strftime 根据区域设置格式化本地时间/日期
strptime 解析由 strftime 生成的日期/时间
strtotime 将任何英文文本的日期时间描述解析为 Unix 时间戳
time 返回当前的 Unix 时间戳
timezone_abbreviations_list 别名 DateTimeZone::listAbbreviations
timezone_identifiers_list 别名 DateTimeZone::listIdentifiers
timezone_location_get 别名 DateTimeZone::getLocation
timezone_name_from_abbr Returns the timezone name from abbreviation
timezone_name_get 别名 DateTimeZone::getName
timezone_offset_get 别名 DateTimeZone::getOffset
timezone_open 别名 DateTimeZone::__construct
timezone_transitions_get 别名 DateTimeZone::getTransitions
timezone_version_get Gets the version of the timezonedb
PHP函数参考大全说明

PHP函数参考表收录了常用的 PHP 内置函数,特别是字符串处理、大小写转换、HTML标签转义等相关函数,便于开发者快速查阅函数功能与作用。

字符串相关操作函数

去除空格或其他字符

  • trim:删除字符串两端空格或其他预定义字符
  • rtrim:删除字符串右边空格或其他预定义字符
  • ltrim:删除字符串左边空格或其他预定义字符
  • chop:功能等价于 rtrim

字符串生成与转换

  • str_pad:使用另一个字符串填充字符串至指定长度
  • str_split:将字符串转换为数组
  • strrev:反转字符串
  • wordwrap:打断字符串为指定数量的字符
  • str_shuffle:随机打乱一个字符串
  • parse_str:将字符串解析成变量
  • number_format:千位分组并格式化数字为字符串

字符串大小写转换

  • strtolower:字符串转化为小写
  • strtoupper:字符串转化为大写
  • ucfirst:字符串首字母转大写
  • lcfirst:字符串首字母转小写
  • ucwords:字符串每个单词首字母转大写

HTML标签相关

  • htmlentities:将字符转换为 HTML 实体
  • htmlspecialchars:预定义字符转为 HTML 编码

本页仅展示部分函数。更多函数如数组、文件操作、正则表达式、时间处理、数学函数等,建议访问PHP 官方手册了解更多。

相关工具

暂无评论

本文暂时没有评论,来添加一个吧(●'◡'●)