PHP常用函数整理
[TOC]
Math 函数
函数 | 描述 |
---|---|
abs | 绝对值 |
bindec | 二进制转换为十进制 |
ceil | 进一法取整 |
decbin | 十进制转换为二进制 |
dechex | 十进制转换为十六进制 |
decoct | 十进制转换为八进制 |
floor | 舍去法取整 |
fmod | 返回除法的浮点数余数 |
hexdec | 十六进制转换为十进制 |
intdiv | 对除法结果取整 |
is_finite | 判断是否为有限值 |
is_infinite | 判断是否为无限值 |
is_nan | 判断是否为合法数值 |
max | 找出最大值 |
min | 找出最小值 |
mt_rand | 生成更好的随机数 |
octdec | 八进制转换为十进制 |
pi | 得到圆周率值 |
rand | 产生一个随机整数 |
round | 对浮点数进行四舍五入 |
BC 数学 函数
函数 | 描述 |
---|---|
bcadd | 2个任意精度数字的加法计算 |
bccomp | 比较两个任意精度的数字 |
bcdiv | 2个任意精度的数字除法计算 |
bcmod | 对一个任意精度数字取模 |
bcmul | 2个任意精度数字乘法计算 |
bcpow | 任意精度数字的乘方 |
bcscale | 设置所有bc数学函数的默认小数点保留位数 |
bcsqrt | 任意精度数字的二次方根 |
bcsub | 2个任意精度数字的减法 |
字符串 函数
函数 | 描述 |
---|---|
addcslashes | 以 C 语言风格使用反斜线转义字符串中的字符 |
addslashes | 使用反斜线引用字符串 |
chr | 返回指定的字符 |
chunk_split | 将字符串分割成小块 |
echo | 输出一个或多个字符串 |
explode | 使用一个字符串分割另一个字符串 |
fprintf | 将格式化后的字符串写入到流 |
html_entity_decode | Convert all HTML entities to their applicable characters |
htmlentities | 将字符转换为 HTML 转义字符 |
htmlspecialchars_decode | 将特殊的 HTML 实体转换回普通字符 |
htmlspecialchars | 将特殊字符转换为 HTML 实体 |
implode | 将一个一维数组的值转化为字符串 |
lcfirst | 使一个字符串的第一个字符小写 |
ltrim | 删除字符串开头的空白字符(或其他字符) |
md5_file | 计算指定文件的 MD5 散列值 |
md5 | 计算字符串的 MD5 散列值 |
money_format | 将数字格式化成货币字符串 |
number_format | 以千位分隔符方式格式化一个数字 |
ord | 返回字符的 ASCII 码值 |
parse_str | 将字符串解析成多个变量 |
输出字符串 | |
printf | 输出格式化字符串 |
rtrim | 删除字符串末端的空白字符(或者其他字符) |
sha1_file | 计算文件的 sha1 散列值 |
sha1 | 计算字符串的 sha1 散列值 |
sprintf | Return a formatted string |
str_getcsv | 解析 CSV 字符串为一个数组 |
str_ireplace | str_replace 的忽略大小写版本 |
str_pad | 使用另一个字符串填充字符串为指定长度 |
str_repeat | 重复一个字符串 |
str_replace | 子字符串替换 |
str_shuffle | 随机打乱一个字符串 |
str_split | 将字符串转换为数组 |
strchr | 别名 strstr |
strcmp | 二进制安全字符串比较 |
strip_tags | 从字符串中去除 HTML 和 PHP 标记 |
stripcslashes | 反引用一个使用 addcslashes 转义的字符串 |
stripos | 查找字符串首次出现的位置(不区分大小写) |
stripslashes | 反引用一个引用字符串 |
stristr | strstr 函数的忽略大小写版本 |
strlen | 获取字符串长度 |
strpos | 查找字符串首次出现的位置 |
strrchr | 查找指定字符在字符串中的最后一次出现 |
strrev | 反转字符串 |
strripos | 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写) |
strrpos | 计算指定字符串在目标字符串中最后一次出现的位置 |
strstr | 查找字符串的首次出现 |
strtok | 标记分割字符串 |
strtolower | 将字符串转化为小写 |
strtoupper | 将字符串转化为大写 |
strtr | 转换指定字符 |
substr_count | 计算字串出现的次数 |
substr_replace | 替换字符串的子串 |
substr | 返回字符串的子串 |
trim | 去除字符串首尾处的空白字符(或者其他字符) |
ucfirst | 将字符串的首字母转换为大写 |
ucwords | 将字符串中每个单词的首字母转换为大写 |
数组 函数
函数 | 描述 |
---|---|
array_change_key_case | 将数组中的所有键名修改为全大写或小写 |
array_chunk | 将一个数组分割成多个 |
array_column | 返回数组中指定的一列 |
array_combine | 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 |
array_count_values | 统计数组中所有的值 |
array_diff_assoc | 带索引检查计算数组的差集 |
array_diff_key | 使用键名比较计算数组的差集 |
array_diff_uassoc | 用用户提供的回调函数做索引检查来计算数组的差集 |
array_diff_ukey | 用回调函数对键名比较计算数组的差集 |
array_diff | 计算数组的差集 |
array_fill_keys | 使用指定的键和值填充数组 |
array_fill | 用给定的值填充数组 |
array_filter | 用回调函数过滤数组中的单元 |
array_flip | 交换数组中的键和值 |
array_intersect_assoc | 带索引检查计算数组的交集 |
array_intersect_key | 使用键名比较计算数组的交集 |
array_intersect_uassoc | 带索引检查计算数组的交集,用回调函数比较索引 |
array_intersect_ukey | 用回调函数比较键名来计算数组的交集 |
array_intersect | 计算数组的交集 |
array_key_exists | 检查数组里是否有指定的键名或索引 |
array_keys | 返回数组中部分的或所有的键名 |
array_map | 为数组的每个元素应用回调函数 |
array_merge_recursive | 递归地合并一个或多个数组 |
array_merge | 合并一个或多个数组 |
array_multisort | 对多个数组或多维数组进行排序 |
array_pad | 以指定长度将一个值填充进数组 |
array_pop | 弹出数组最后一个单元(出栈) |
array_product | 计算数组中所有值的乘积 |
array_push | 将一个或多个单元压入数组的末尾(入栈) |
array_rand | 从数组中随机取出一个或多个单元 |
array_reduce | 用回调函数迭代地将数组简化为单一的值 |
array_replace_recursive | 使用传递的数组递归替换第一个数组的元素 |
array_replace | 使用传递的数组替换第一个数组的元素 |
array_reverse | 返回单元顺序相反的数组 |
array_search | 在数组中搜索给定的值,如果成功则返回首个相应的键名 |
array_shift | 将数组开头的单元移出数组 |
array_slice | 从数组中取出一段 |
array_splice | 去掉数组中的某一部分并用其它值取代 |
array_sum | 对数组中所有值求和 |
array_udiff_assoc | 带索引检查计算数组的差集,用回调函数比较数据 |
array_udiff_uassoc | 带索引检查计算数组的差集,用回调函数比较数据和索引 |
array_udiff | 用回调函数比较数据来计算数组的差集 |
array_uintersect_assoc | 带索引检查计算数组的交集,用回调函数比较数据 |
array_uintersect_uassoc | 带索引检查计算数组的交集,用单独的回调函数比较数据和索引 |
array_uintersect | 计算数组的交集,用回调函数比较数据 |
array_unique | 移除数组中重复的值 |
array_unshift | 在数组开头插入一个或多个单元 |
array_values | 返回数组中所有的值 |
array_walk_recursive | 对数组中的每个成员递归地应用用户函数 |
array_walk | 使用用户自定义函数对数组中的每个元素做回调处理 |
array | 新建一个数组 |
arsort | 对数组进行逆向排序并保持索引关系 |
asort | 对数组进行排序并保持索引关系 |
compact | 建立一个数组,包括变量名和它们的值 |
count | 计算数组中的单元数目,或对象中的属性个数 |
current | 返回数组中的当前单元 |
each | 返回数组中当前的键/值对并将数组指针向前移动一步 |
end | 将数组的内部指针指向最后一个单元 |
extract | 从数组中将变量导入到当前的符号表 |
in_array | 检查数组中是否存在某个值 |
key_exists | 别名 array_key_exists |
key | 从关联数组中取得键名 |
krsort | 对数组按照键名逆向排序 |
ksort | 对数组按照键名排序 |
list | 把数组中的值赋给一组变量 |
natcasesort | 用“自然排序”算法对数组进行不区分大小写字母的排序 |
natsort | 用“自然排序”算法对数组排序 |
next | 将数组中的内部指针向前移动一位 |
pos | current 的别名 |
prev | 将数组的内部指针倒回一位 |
range | 根据范围创建数组,包含指定的元素 |
reset | 将数组的内部指针指向第一个单元 |
rsort | 对数组逆向排序 |
shuffle | 打乱数组 |
sizeof | count 的别名 |
sort | 对数组排序 |
uasort | 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 |
uksort | 使用用户自定义的比较函数对数组中的键名进行排序 |
usort | 使用用户自定义的比较函数对数组中的值进行排序 |
Date/Time 函数
函数 | 描述 |
---|---|
date_default_timezone_set | 设定用于一个脚本中所有日期时间函数的默认时区 |
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_version_get | Gets the version of the timezonedb |
函数处理 函数
函数 | 描述 |
---|---|
call_user_func_array | 调用回调函数,并把一个数组参数作为回调函数的参数 |
call_user_func | 把第一个参数作为回调函数调用 |
func_get_arg | 返回参数列表的某一项 |
func_get_args | 返回一个包含函数参数列表的数组 |
func_num_args | 返回传递给函数的参数个数 |
function_exists | 如果给定的函数已经被定义就返回 TRUE |
get_defined_functions | 返回所有已定义函数的数组 |
register_shutdown_function | 注册一个会在php中止时执行的函数 |
POSIX 正则表达式函数
函数 | 描述 |
---|---|
ereg_replace | 正则表达式替换 |
ereg | 正则表达式匹配 |
eregi_replace | 不区分大小写的正则表达式替换 |
eregi | 不区分大小写的正则表达式匹配 |
split | 用正则表达式将字符串分割到数组中 |
spliti | 用正则表达式不区分大小写将字符串分割到数组中 |
sql_regcase | 产生用于不区分大小的匹配的正则表达式 |
PCRE 函数
函数 | 描述 |
---|---|
preg_filter | 执行一个正则表达式搜索和替换 |
preg_grep | 返回匹配模式的数组条目 |
preg_last_error | 返回最后一个PCRE正则执行产生的错误代码 |
preg_match_all | 执行一个全局正则表达式匹配 |
preg_match | 执行匹配正则表达式 |
preg_quote | 转义正则表达式字符 |
preg_replace_callback_array | Perform a regular expression search and replace using callbacks |
preg_replace_callback | 执行一个正则表达式搜索并且使用一个回调进行替换 |
preg_replace | 执行一个正则表达式的搜索和替换 |
preg_split | 通过一个正则表达式分隔字符串 |
类/对象 函数
函数 | 描述 |
---|---|
class_alias | 为一个类创建别名 |
class_exists | 检查类是否已定义 |
get_called_class | 后期静态绑定("Late Static Binding")类的名称 |
get_class_methods | 返回由类的方法名组成的数组 |
get_class_vars | 返回由类的默认属性组成的数组 |
get_class | 返回对象的类名 |
get_declared_classes | 返回由已定义类的名字所组成的数组 |
get_declared_interfaces | 返回一个数组包含所有已声明的接口 |
get_declared_traits | 返回所有已定义的 traits 的数组 |
get_object_vars | 返回由对象属性组成的关联数组 |
get_parent_class | 返回对象或类的父类名 |
interface_exists | 检查接口是否已被定义 |
is_a | 如果对象属于该类或该类是此对象的父类则返回 TRUE |
is_subclass_of | 如果此对象是该类的子类,则返回 TRUE |
method_exists | 检查类的方法是否存在 |
property_exists | 检查对象或类是否具有该属性 |
trait_exists | 检查指定的 trait 是否存在 |
URL 函数
函数 | 描述 |
---|---|
base64_decode | 对使用 MIME base64 编码的数据进行解码 |
base64_encode | 使用 MIME base64 对数据进行编码 |
get_headers | 取得服务器响应一个 HTTP 请求所发送的所有标头 |
get_meta_tags | 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组 |
http_build_query | 生成 URL-encode 之后的请求字符串 |
parse_url | 解析 URL,返回其组成部分 |
rawurldecode | 对已编码的 URL 字符串进行解码 |
rawurlencode | 按照 RFC 3986 对 URL 进行编码 |
urldecode | 解码已编码的 URL 字符串 |
urlencode | 编码 URL 字符串 |
网络 函数
函数 | 描述 |
---|---|
header_register_callback | 调用一个 header 函数 |
header_remove | 删除之前设置的 HTTP 头 |
header | 发送原生 HTTP 头 |
headers_list | 返回已发送的 HTTP 响应头(或准备发送的) |
headers_sent | 检测 HTTP 头是否已经发送 |
http_response_code | 获取/设置响应的 HTTP 状态码 |
setcookie | 发送 Cookie |
setrawcookie | 发送未经 URL 编码的 cookie |
Session 函数
函数 | 描述 |
---|---|
session_abort | 放弃会话数组更改并完成会话 |
session_cache_expire | 返回当前缓存的到期时间 |
session_cache_limiter | 读取/设置缓存限制器 |
session_create_id | Create new session id |
session_decode | 解码会话数据 |
session_destroy | 销毁一个会话中的全部数据 |
session_encode | 将当前会话数据编码为一个字符串 |
session_gc | 执行会话数据垃圾收集 |
session_get_cookie_params | 获取会话 cookie 参数 |
session_id | 获取/设置当前会话 ID |
session_is_registered | 检查变量是否在会话中已经注册 |
session_module_name | 获取/设置会话模块名称 |
session_name | 读取/设置会话名称 |
session_regenerate_id | 使用新生成的会话 ID 更新现有会话 ID |
session_register_shutdown | 关闭会话 |
session_reset | 用原始值重新初始化会话数组 |
session_save_path | 读取/设置当前会话的保存路径 |
session_set_cookie_params | 设置会话 cookie 参数 |
session_set_save_handler | 设置用户自定义会话存储函数 |
session_start | 启动新会话或者重用现有会话 |
session_status | 返回当前会话状态 |
session_unset | 释放所有的会话变量 |
session_write_close | 写会话数据和结束会话 |
目录函数
函数 | 描述 |
---|---|
chdir | 改变目录 |
chroot | 改变根目录 |
closedir | 关闭目录句柄 |
dir | 返回一个 Directory 类实例 |
getcwd | 取得当前工作目录 |
opendir | 打开目录句柄 |
readdir | 从目录句柄中读取条目 |
rewinddir | 倒回目录句柄 |
scandir | 列出指定路径中的文件和目录 |
文件函数
函数 | 描述 |
---|---|
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 | 取得文件类型 |
flock | 轻便的咨询文件锁定 |
fnmatch | 用模式匹配文件名 |
fopen | 打开文件或者 URL |
fpassthru | 输出文件指针处的所有剩余数据 |
fputcsv | 将行格式化为 CSV 并写入文件指针 |
fputs | fwrite 的别名 |
fread | 读取文件(可安全用于二进制文件) |
fscanf | 从文件中格式化输入 |
fseek | 在文件指针中定位 |
fstat | 通过已打开的文件指针取得文件信息 |
ftell | 返回文件指针读/写的位置 |
ftruncate | 将文件截断到给定的长度 |
fwrite | 写入文件(可安全用于二进制文件) |
glob | 寻找与模式匹配的文件路径 |
is_dir | 判断给定文件名是否是一个目录 |
is_executable | 判断给定文件名是否可执行 |
is_file | 判断给定文件名是否为一个正常的文件 |
is_link | 判断给定文件名是否为一个符号连接 |
is_readable | 判断给定文件名是否可读 |
is_uploaded_file | 判断文件是否是通过 HTTP POST 上传的 |
is_writable | 判断给定的文件名是否可写 |
is_writeable | is_writable 的别名 |
lchgrp | 修改符号链接的所有组 |
lchown | 修改符号链接的所有者 |
link | 建立一个硬连接 |
linkinfo | 获取一个连接的信息 |
lstat | 给出一个文件或符号连接的信息 |
mkdir | 新建目录 |
move_uploaded_file | 将上传的文件移动到新位置 |
parse_ini_file | 解析一个配置文件 |
parse_ini_string | 解析配置字符串 |
pathinfo | 返回文件路径的信息 |
pclose | 关闭进程文件指针 |
popen | 打开进程文件指针 |
readfile | 输出文件 |
readlink | 返回符号连接指向的目标 |
realpath_cache_get | 获取真实目录缓存的详情 |
realpath_cache_size | 获取真实路径缓冲区的大小 |
realpath | 返回规范化的绝对路径名 |
rename | 重命名一个文件或目录 |
rewind | 倒回文件指针的位置 |
rmdir | 删除目录 |
set_file_buffer | stream_set_write_buffer 的别名 |
stat | 给出文件的信息 |
symlink | 建立符号连接 |
tempnam | 建立一个具有唯一文件名的文件 |
tmpfile | 建立一个临时文件 |
touch | 设定文件的访问和修改时间 |
umask | 改变当前的 umask |
unlink | 删除文件 |
Variable handling 函数
函数 | 描述 |
---|---|
boolval | 获取变量的布尔值 |
debug_zval_dump | Dumps a string representation of an internal zend value to output |
doubleval | floatval 的别名 |
empty | 检查一个变量是否为空 |
floatval | 获取变量的浮点值 |
get_defined_vars | 返回由所有已定义变量所组成的数组 |
get_resource_type | 返回资源(resource)类型 |
gettype | 获取变量的类型 |
import_request_variables | 将 GET/POST/Cookie 变量导入到全局作用域中 |
intval | 获取变量的整数值 |
is_array | 检测变量是否是数组 |
is_bool | 检测变量是否是布尔型 |
is_callable | 检测参数是否为合法的可调用结构 |
is_double | is_float 的别名 |
is_float | 检测变量是否是浮点型 |
is_int | 检测变量是否是整数 |
is_integer | is_int 的别名 |
is_iterable | Verify that the contents of a variable is an iterable value |
is_long | is_int 的别名 |
is_null | 检测变量是否为 NULL |
is_numeric | 检测变量是否为数字或数字字符串 |
is_object | 检测变量是否是一个对象 |
is_real | is_float 的别名 |
is_resource | 检测变量是否为资源类型 |
is_scalar | 检测变量是否是一个标量 |
is_string | 检测变量是否是字符串 |
isset | 检测变量是否已设置并且非 NULL |
print_r | 打印关于变量的易于理解的信息。 |
serialize | 产生一个可存储的值的表示 |
settype | 设置变量的类型 |
strval | 获取变量的字符串值 |
unserialize | 从已存储的表示中创建 PHP 的值 |
unset | 释放给定的变量 |
var_dump | 打印变量的相关信息 |
var_export | 输出或返回一个变量的字符串表示 |
Output Control 函数
函数 | 描述 |
---|---|
flush | 刷新输出缓冲 |
ob_clean | 清空(擦掉)输出缓冲区 |
ob_end_clean | 清空(擦除)缓冲区并关闭输出缓冲 |
ob_end_flush | 冲刷出(送出)输出缓冲区内容并关闭缓冲 |
ob_flush | 冲刷出(送出)输出缓冲区中的内容 |
ob_get_clean | 得到当前缓冲区的内容并删除当前输出缓。 |
ob_get_contents | 返回输出缓冲区的内容 |
ob_get_flush | 刷出(送出)缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区。 |
ob_get_length | 返回输出缓冲区内容的长度 |
ob_get_level | 返回输出缓冲机制的嵌套级别 |
ob_get_status | 得到所有输出缓冲区的状态 |
ob_gzhandler | 在ob_start中使用的用来压缩输出缓冲区中内容的回调函数。ob_start callback function to gzip output buffer |
ob_implicit_flush | 打开/关闭绝对刷送 |
ob_list_handlers | 列出所有使用中的输出处理程序。 |
ob_start | 打开输出控制缓冲 |
output_add_rewrite_var | 添加URL重写器的值(Add URL rewriter values) |
output_reset_rewrite_vars | 重设URL重写器的值(Reset URL rewriter values) |