The 100 PHP functions to unlock the maximum power from the languageThe 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 here. The frequency column represents how often this function is used across PHP code repositories : the reference corpus is a list of 2500 PHP Open Source projects (top 1000 composer, github/gitlab/gitee public repo, downloaded archives…). They were audited with Exakat static analysis engine, version 2.4.7. The average is the number of time the function is called within one project.

For example, 4 project out of 5 uses the count() function, and when used, count() is called around 61 times. It is both a popular and heavily used function. On the other hand, dirname() is popular but rarely used (56% for 13 usages)

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

 

The 100 most popular PHP functions

Rank Function Frequency Average
1 file_exists 62.80% 13
2 str_replace 58.20% 33
3 implode 57.31% 35
4 count 56.42% 61
5 dirname 56.38% 13
6 substr 55.84% 53
7 sprintf 55.26% 80
8 strpos 55.07% 24
9 array_merge 54.80% 35
10 in_array 51.39% 33
11 explode 51.35% 26
12 strlen 50.97% 35
13 is_array 50.73% 46
14 array_key_exists 49.54% 28
15 array_keys 49.27% 16
16 preg_match 46.52% 28
17 file_get_contents 46.48% 8
18 is_file 44.43% 6
19 array_values 42.81% 7
20 file_put_contents 42.46% 4
21 trim 41.57% 25
22 method_exists 41.49% 8
23 defined 40.87% 19
24 is_string 40.76% 20
25 function_exists 40.29% 20
26 array_map 39.33% 12
27 preg_replace 39.02% 17
28 strtolower 38.94% 19
29 is_dir 38.67% 6
30 strtr 38.01% 5
31 call_user_func 37.01% 4
32 strrpos 36.70% 4
33 call_user_func_array 36.43% 3
34 array_flip 35.89% 2
35 fwrite 35.89% 4
36 rtrim 35.69% 6
37 filter_var 35.65% 2
38 ini_get 35.15% 5
39 json_decode 34.76% 7
40 array_filter 34.76% 7
41 realpath 34.15% 4
42 header 34.07% 7
43 class_exists 34.03% 12
44 json_encode 33.49% 9
45 trigger_error 32.95% 5
46 get_class 32.95% 13
47 spl_autoload_register 32.10% 1
48 unlink 30.43% 5
49 headers_sent 29.78% 1
50 is_object 29.31% 11
51 mkdir 29.20% 2
52 array_shift 28.69% 6
53 spl_autoload_unregister 28.54% 1
54 apcu_fetch 28.23% 0
55 array_pop 28.11% 5
56 stream_resolve_include_path 27.84% 0
57 is_int 27.65% 5
58 apcu_add 27.57% 0
59 getcwd 27.49% 1
60 strtoupper 27.42% 6
61 is_numeric 26.95% 9
62 array_unique 26.91% 4
63 ltrim 26.60% 4
64 basename 26.57% 4
65 str_repeat 26.26% 7
66 fopen 25.91% 6
67 array_slice 24.94% 3
68 getenv 24.94% 4
69 var_export 24.71% 3
70 preg_match_all 24.67% 3
71 is_callable 24.48% 4
72 reset 24.44% 4
73 preg_split 24.40% 3
74 fclose 24.36% 5
75 array_unshift 24.25% 3
76 gettype 24.21% 4
77 end 23.90% 3
78 array_search 23.82% 3
79 max 23.78% 5
80 extension-loaded 23.59% 3
81 is_bool 23.55% 2
82 version_compare 22.82% 3
83 preg_quote 22.78% 3
84 time 22.70% 9
85 ucfirst 22.66% 4
86 ksort 22.66% 2
87 preg_replace_callback 22.54% 3
88 md5 22.51% 4
89 array_reverse 22.47% 2
90 array_diff 22.12% 2
91 is_readable 22.00% 1
92 microtime 21.96% 4
93 copy 21.81% 1
94 parse_url 21.81% 2
95 is_null 21.50% 17
96 base64_encode 21.42% 3
97 current 21.38% 2
98 is_resource 21.08% 3
99 serialize 20.77% 4
100 key 20.57% 2

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
    • Databases are probably out of scope, as they are based on classes
  • No recently deprecated function is in the top 100.
  • Usage of composer may also reduce the need for some native function, by federating them in a component or two, and reducing their overall usage. For example, monolog may both use log() and reduce its usage across the Open Source community.
  • Extension that makes it to the top 100 : filter, json, apcu.
  • md5 is the only widely used crypto function. Sha1 is the second (#147).
  • Debug functions, such as print_r() or var_dump() are out of the top 100.
  • 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.
  • Types are still a major concern of PHP code : is it a string? is it an object? No, it’s a resource!
    • Type system may go a long way, but there are still return values that needs testing.
  • There is also a PHP top 100 for the PHP classes. Wild ideas include top 100 PHP constants, operators, variable names,… Why not?

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.

More details?

Follow us on @exakat if you want more details, more stats