下面的列表是最常用的前100個 PHP 函式:它們是最常用的 PHP 中自帶的函式。
這些函式被命名使用,並從1到100進行排序。 其他的4500個函式現在還沒在排名中。 下面頻率列表表示在 PHP 程式碼中使用此函式的頻率 : 參考資料來自於 1900 個 PHP 開源專案。 他們使用了 Exakat static analysis engine 靜態分析引擎的 1.2.5 版本進行了稽核。平均值是在一個專案中呼叫此函式的次數。有些函式是被封裝使用的,而另一些則是主要函式。
比如說,5個專案裡面有4個用到了 count 函式,函式被呼叫大概150次。說明它很流行且被大量使用。
單擊函式名跳轉到 PHP 文件。在 Top 100文章的底部有一些總結見解。
排行 | 函式 | 頻率 | 平均值 |
---|---|---|---|
1 | count | 81.41 % | 147.67 |
2 | is_array | 77.32 % | 117.86 |
3 | substr | 74.62 % | 142.92 |
4 | in_array | 74.16 % | 79.55 |
5 | explode | 73.19 % | 71.51 |
6 | str_replace | 72.32 % | 101.05 |
7 | implode | 72.27 % | 66.59 |
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 |
21 | dirname | 56.44 % | 54.84 |
22 | function_exists | 53.58 % | 42.62 |
23 | array_map | 53.22 % | 19.45 |
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 |
28 | json_encode | 51.48 % | 24.81 |
29 | date | 50.72 % | 52.18 |
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 |
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 |
50 | microtime | 43.46 % | 14.41 |
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 |
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 |
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 |
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 |
81 | array_push | 36.67 % | 26.18 |
82 | floor | 36.11 % | 18.78 |
83 | strtotime | 36.01 % | 27.94 |
84 | htmlspecialchars | 35.96 % | 51.08 |
85 | ini_get | 35.85 % | 19.25 |
86 | ini_set | 35.60 % | 14.49 |
87 | chr | 35.34 % | 186.97 |
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 |
93 | uniqid | 34.68 % | 9.83 |
94 | strtr | 34.47 % | 12.90 |
95 | array_diff | 34.32 % | 11.13 |
96 | error_reporting | 34.17 % | 8.99 |
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 |
前 100 分析
-
最常用的 PHP 函式是字串函式,然後是陣列函式,接著是檔案函式。 (運算函式不在此列主要是因為他們通常基於運算子)
-
每個函式的連結都指向其對應的文件,事實上許多函式經過發展以及獲得了許多新特性,例如:
count()
的第二個引數,dirname()
的第二個引數以及preg_match()
和str_replace()
接受陣列作為引數等。有很多彩蛋。 -
以上 100 個函式沒有近期要廢棄的計劃。
-
在非內建庫中,mbstring 排名第一、curl 第二,然後是 gd、filter 和 iconv。
-
md5
是最常用的加密函式,其次是Sha1
(#147)。 -
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
寫入檔案。
後記
如果你正在學習 PHP,最好回顧一下這裡排名的 100 個功能。它們是你加入一個編碼團隊後最常找到的功能。它們不是唯一的,但遇到它們時你會不那麼驚訝。