100 个最常用的 PHP 函数

下面的列表是最常用的前 100 个 PHP 函数:它们是最常用的 PHP 中自带的函数。

这些函数被命名使用,并从 1 到 100 进行排序。 其他的 4500 个函数现在还没在排名中。 下面频率列表表示在 PHP 代码中使用此函数的频率:参考资料来自于 1900 个 PHP 开源项目。 他们使用了 Exakat static analysis engine 静态分析引擎的 1.2.5 版本进行了审核。平均值是在一个项目中调用此函数的次数。有些函数是被封装使用的,而另一些则是主要函数。

比如说,5 个项目里面有 4 个用到了 count 函数,函数被调用大概 150 次。说明它很流行且被大量使用。

单击函数名跳转到 PHP 文档。

排行 函数 频率 平均值 说明 用法
1 count 81.41 % 147.67 计算数组中的单元数目,或对象中的属性个数
2 is_array 77.32 % 117.86 检测变量是否是数组
3 substr 74.62 % 142.92 返回字符串 string 由 start 和 length 参数指定的子字符串。 substr ( string $string , int $start [, int $length ] ) : string
4 in_array 74.16 % 79.55 检查数组中是否存在某个值 in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool
5 explode 73.19 % 71.51 使用一个字符串$delimiter 分割另一个字符串 explode ( string $delimiter , string $string [, int $limit ] ) : array
6 str_replace 72.32 % 101.05 子字符串替换 str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) : mixed
7 implode 72.27 % 66.59 将一个一维数组的值转化为字符串 implode ( string $glue , array $pieces ) : string
8 strlen 70.07 % 98.32 获取字符串长度
9 array_merge 69.46 % 64.01 合并一个或多个数组 后面的会覆盖第一个数组
10 strpos 67.98 % 78.18 查找字符串首次出现的位置
11 preg_match 67.31 % 76.60 匹配正则表达式
12 sprintf 67.16 % 119.46 返回格式化字符串
13 trim 66.75 % 81.28 去除字符串首尾处的空白字符(或者其他字符)
14 strtolower 65.99 % 59.62 将字符串转化为小写
15 file_exists 65.12 % 45.13 检查文件或目录是否存在
16 is_string 61.39 % 45.10
17 preg_replace 60.27 % 54.28 正则搜索并替换
18 file_get_contents 59.96 % 20.71 将整个文件读入一个字符串
19 array_key_exists 59.70 % 57.50 检查数组里是否有指定的键名或索引
20 array_keys 59.35 % 39.59 返回数组中部分的或所有的键名:array
21 dirname 56.44 % 54.84 返回路径中的目录部分
22 function_exists 53.58 % 42.62
23 array_map 53.22 % 19.45 为数组的每个元素应用回调函数 array_map ( callable $callback , array $array1 [, array $... ] ) : array
24 get_class 53.12 % 33.07
25 class_exists 52.50 % 23.13
26 is_object 51.94 % 35.35
27 time 51.79 % 41.42 返回当前的 Unix 时间戳 (秒)
28 json_encode 51.48 % 24.81
29 date 50.72 % 52.18 格式化一个本地时间/日期 date ( string $format [, int $timestamp ] ) : string
30 is_null 49.69 % 60.52
31 is_numeric 49.49 % 40.69
32 array_shift 49.49 % 23.28 将数组开头的单元移出数组
33 defined 48.72 % 86.82 将数组开头的单元移出数组
34 is_dir 48.57 % 22.86
35 json_decode 48.42 % 17.39
36 header 48.16 % 59.71 发送原生 HTTP 头
37 strtoupper 47.80 % 30.95
38 array_values 47.24 % 17.27
39 md5 46.88 % 23.74
40 method_exists 46.73 % 19.05
41 file_put_contents 46.68 % 12.49 将一个字符串写入文件
42 rtrim 45.91 % 18.08 删除字符串末端的空白字符(或者其他字符)
43 array_pop 45.51 % 20.60 弹出数组最后一个单元(出栈)
44 unlink 44.59 % 23.55 删除文件
45 basename 44.59 % 27.23 返回路径中的文件名部分
46 realpath 44.08 % 15.90 返回规范化的绝对路径名
47 call_user_func 43.97 % 16.41 把第一个参数作为回调函数调用
48 call_user_func_array 43.92 % 18.40
49 fopen 43.77 % 25.61 打开文件或者 URL
50 microtime 43.46 % 14.41 返回当前 Unix 时间戳和微秒数
51 fclose 42.85 % 28.36
52 is_int 42.75 % 15.78
53 is_file 42.08 % 20.52
54 array_slice 41.83 % 13.20 从数组中取出一段 array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ) : array
55 preg_match_all 40.55 % 14.66
56 ucfirst 40.25 % 17.02 将字符串的首字母转换为大写
57 intval 40.19 % 88.13 获取变量的整数值
58 str_repeat 40.14 % 19.51 重复一个字符串 str_repeat ( string $input , int $multiplier ) : string
59 serialize 40.14 % 22.05 序列化
60 array_filter 39.99 % 13.87 用回调函数过滤数组中的单元
61 mkdir 39.79 % 11.17
62 is_callable 39.43 % 11.94 检测参数是否为合法的可调用结构
63 ltrim 39.17 % 10.90 删除字符串开头的空白字符(或其他字符)
64 ob_start 39.12 % 13.26 打开输出控制缓冲
65 round 39.07 % 28.56 对浮点数进行四舍五入(以及保留小数点位数)
66 fwrite 38.97 % 23.39
67 array_unique 38.87 % 15.96 移除数组中重复的值
68 array_search 38.82 % 14.19 在数组中搜索给定的值,如果成功则返回首个相应的键名
69 reset 38.71 % 20.79 将数组的内部指针指向第一个单元
70 array_unshift 38.10 % 10.32 在数组开头插入一个或多个单元
71 parse_url 37.90 % 9.61 解析 URL,返回其组成部分
72 func_get_args 37.79 % 28.33
73 end 37.49 % 12.70 将数组的内部指针指向最后一个单元
74 base64_encode 37.39 % 14.15
75 unserialize 37.18 % 18.35
76 max 36.98 % 22.88
77 preg_split 36.98 % 13.27 通过一个正则表达式分隔字符串
78 gettype 36.93 % 16.16 获取变量的类型
79 strrpos 36.67 % 11.95 计算指定字符串在目标字符串中最后一次出现的位置
80 version_compare 36.67 % 14.87 对比两个「PHP 规范化」的版本数字字符串
81 array_push 36.67 % 26.18 将一个或多个单元压入数组的末尾(入栈) 可以使用 $array[] = $var; 代替
82 floor 36.11 % 18.78 舍去法(去尾法)取整
83 strtotime 36.01 % 27.94 将任何字符串的日期时间描述解析为 Unix 时间戳 strtotime("+1 week") strtotime("next Thursday")
84 htmlspecialchars 35.96 % 51.08 将特殊字符转换为 HTML 实体
85 ini_get 35.85 % 19.25 获取一个配置选项的值
86 ini_set 35.60 % 14.49 为一个配置选项设置值
87 chr 35.34 % 186.97 返回指定的字符 此函数与 ord() 是互补的。
88 extension_loaded 35.29 % 14.17 检查一个扩展是否已经加载
89 is_bool 35.24 % 11.44
90 ksort 34.98 % 10.82 对数组按照键名排序
91 array_reverse 34.93 % 8.27 返回单元顺序相反的数组
92 ord 34.73 % 53.17 转换字符串第一个字节为 0-255 之间的值
93 uniqid 34.68 % 9.83 生成一个唯一ID
94 strtr 34.47 % 12.90 转换指定字符 strtr ( string $str , string $from , string $to ) : string 该函数返回 str 的一个副本,并将在 from 中指定的字符转换为 to 中相应的字符。 比如, $from[$n]中每次的出现都会被替换为 $to[$n],其中 $n 是两个参数都有效的位移(offset)。
95 array_diff 34.32 % 11.13
96 error_reporting 34.17 % 8.99 设置应该报告何种 PHP 错误 error_reporting(E_ALL);
97 ceil 33.35 % 11.99 进一法取整
98 urlencode 33.30 % 29.63
99 min 32.69 % 18.31
100 print_r 32.64 % 14.12 以易于理解的格式打印变量。
  • 最常用的 PHP 函数是字符串函数,然后是数组函数,接着是文件函数。 (运算函数不在此列主要是因为他们通常基于运算符)
  • 每个函数的链接都指向其对应的文档,事实上许多函数经过发展以及获得了许多新特性,例如:count() 的第二个参数,dirname() 的第二个参数以及 preg_match() 和 str_replace() 接受数组作为参数等。有很多彩蛋。
  • 在非内置库中,mbstring 排名第一、curl 第二,然后是 gd、filter 和 iconv。
  • md5 是最常用的加密函数,其次是 Sha1。
  • print_r 出现在 1/3 的项目代码里面的某处,任何地方 ...
  • 由于 dirname(dirname(dirname())) 的调用,dirname 的使用频率非常高。
  • array、echo、print、empty、isset 这些没有纳入此排名,它们的使用度肯定是非常高的。
  • 如下几个函数应该用运算符替代 : array_push, is_object, func_get_arg, chr, call_user_func。
  • 相当多的调用是为了知道值的类型。
  • 数据库函数没有在这里排名:他们经常使用类,但功能仍然很频繁。可能是另一个前 100 名?
  • 相比写入文件 PHP 更多的应用于读取文件。它还解码 base64。
  • 使用键排序比使用值或使用键更频繁。
  • 通常使用 file_get_contents 读取文件,使用 fwrite 写入文件。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容

  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,344评论 0 20
  • 总结了一些开发中常用的函数: usleep() //函数延迟代码执行若干微秒。 unpack() //函数从二进制...
    ADL2022阅读 452评论 0 3
  • 下面的列表是最常用的前100个 PHP 函数:它们是最常用的 PHP 中自带的函数。 这些函数被命名使用,并从1到...
    summerbluet阅读 694评论 0 13
  • # 数组部分 # 1.## array_chunk($arr, $size [, $preserve_key = ...
    clothTiger阅读 1,130评论 0 1
  • PHP数组函数,摘录于PHP手册 1、array_change_key_case (PHP 4 >= 4.2.0,...
    kotlin360阅读 694评论 2 1