Sunday, January 24, 2010

Get a list of all available functions with PHP

PHP has the function get_defined_functions() which allows you to get a list of all the available system and user defined functions in an array. This post looks at how to use the get_defined_functions() function, the output from it and how to sort the list into alphabetical order.

Using get_defined_functions()

get_defined_functions() returns an array containing two keys: 'internal' and 'user'. Each key contains a sub array containing a complete list of the available internal/system functions and the user defined functions respectively.

The following example illustrates this (the examples below assume we have two user defined functions called foo() and bar()):

print_r(get_defined_functions());

Array
(
[internal] => Array
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args
[4] => strlen
[5] => strcmp
...
[1274] => xmlwriter_write_dtd_attlist
[1275] => xmlwriter_output_memory
[1276] => xmlwriter_flush
)

[user] => Array
(
[0] => foo
[1] => bar
)
)


Sorting the result into alphabetical order

$functions = get_defined_functions();
sort($functions['internal']);
sort($functions['user']);
print_r($functions);