In PHP, it can be defined in the form of [function foo($arg_1, $arg_2, /* ..., */ $arg_n){echo "Example function.\n";return $retval;}] a method.
Recommended: "PHP Video Tutorial"
User-defined function
A function can be defined by the following syntax:
Example #1 Pseudocode showing the purpose of the function
<?php function foo($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Example function.\n"; return $retval; } ?>
Any valid PHP code may appear in Within the function, it even includes other function and class definitions.
Function names have the same naming rules as other identifiers in PHP. Valid function names begin with a letter or underscore, followed by letters, numbers, or underscores. It can be expressed as regular expression: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.
Tip
See User Space Naming Guidelines.
Function does not need to be defined before calling, unless the function is conditionally defined in the following two examples.
When a function is conditionally defined, it must be defined before calling the function.
Example #2 Conditional function
<?php $makefoo = true; /* 不能在此处调用foo()函数, 因为它还不存在,但可以调用bar()函数。*/ bar(); if ($makefoo) { function foo() { echo "I don't exist until program execution reaches me.\n"; } } /* 现在可以安全调用函数 foo()了, 因为 $makefoo 值为真 */ if ($makefoo) foo(); function bar() { echo "I exist immediately upon program start.\n"; } ?>
Example #3 Function within a function
<?php function foo() { function bar() { echo "I don't exist until foo() is called.\n"; } } /* 现在还不能调用bar()函数,因为它还不存在 */ foo(); /* 现在可以调用bar()函数了,因为foo()函数 的执行使得bar()函数变为已定义的函数 */ bar(); ?>
All functions and classes in PHP have global scope and can be defined in Called from outside a function and vice versa.
PHP does not support function overloading, and it is not possible to undefine or redefine declared functions.
Note: ASCII function names from A to Z are case-insensitive, but when calling a function, it is a good practice to use the same form as when it was defined.
PHP functions support a variable number of parameters and default parameters. See func_num_args(), func_get_arg() and func_get_args().
Recursive functions can be called in PHP.
Example #4 Recursive function
<?php function recursion($a) { if ($a < 20) { echo "$a\n"; recursion($a + 1); } } ?>
Note: However, avoid recursive function/method calls beyond 100-200 levels, as it may collapse the stack and terminate the current script. Infinite recursion can be considered a programming error.
The above is the detailed content of How to customize a method in php. For more information, please follow other related articles on the PHP Chinese website!