Any valid PHP code may appear inside a function, even other
functions and class
definitions.

Function names follow the same rules as other labels in PHP. A
valid function name starts with a letter or underscore, followed
by any number of letters, numbers, or underscores. As a regular
expression, it would be expressed thus:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*.

Note:
Recursive function/method calls with over 100-200 recursion levels can
smash the stack and cause a termination of the current script. Especially,
infinite recursion is considered a programming error.