top 100 PHP functions

The top 100 PHP functions

The 100 PHP functions that you have to know

Here is the top 100 PHP functions : it is the list of the most often used PHP native functions.

The functions are named, and ranked from 1 to 100. The other 4500 functions are not ranked now. The frequency column represents how often this function is used across PHP code : the reference corpus is a list of 1900 PHP open source projects. They were audited with Exakat static analysis engine, version 1.2.5. The average is the number of time a function is called within one project. Some function are used in isolation, and others are a staple.

For example, 4 project out of 5 uses the count function, and when used, the function is called around 150 times. It is both a popular and heavily used function.

Click on the link to go to the documentation. Some insight at the bottom of the top 100.

Rank Function Frequency Average
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

top 100 insights

  • The most commonly used PHP functions are string functions, and then arrays, then files. (Math is probably out of the scope, as it is mostly based on operators)
  • The links leads to the documentation : many of those functions actually evolved and acquired new features : for example, count()‘s second argument, dirname()‘s second argument, preg_match() and str_replace() accepting arrays as argument… There are many easter eggs.
  • No recently deprecated function is in the top 100.
  • ext/mbstring is the first non-core extension to show up; ext/curl is the second; then Gd, filter and iconv.
  • md5 is the only widely used crypto function. Sha1 is the second (#147).
  • print_r is used somewhere in the code of 1 project out of 3. Somewhere…
  • dirname has a high level of usage, due to dirname(dirname(dirname())) calls
  • array, echo, print, empty, isset and other language constructs were not counted as functions in this ranking. They are probably trusting the first ranks anyway.
  • Several functions should be replaced by operators : array_push, is_object, func_get_arg, chr, call_user_func.
  • Quite a lot of calls are devoted to knowing a value’s type
  • Databases are not ranked here : they are often using classes, though functions are still frequent. May be another top 100 ?
  • PHP code tends to read files more than write them. It also decodes base64
  • sorting with keys is more frequent than on values or with keys.
  • files are read with file_get_contents, and written with fwrite

Challenges

If you are learning PHP, it is a good idea to review the 100 functions ranked here : they are the features you’ll find the most often when landing on a coding team. They are not the only ones, but you’ll be less surprised when meeting them.