A function may be defined using syntax such as the following:
Example 12-1. Pseudo code to demonstrate function uses |
<?php
function foo($arg_1, $arg_2, $arg_n)
{
echo "Example function.\n";
return $retval;
}
?>
|
|
Any valid PHP code may appear inside a function, even other
functions and class
definitions.
In PHP 3, functions must be defined before they are referenced. No
such requirement exists in PHP 4. Except when
a function is conditionally defined such as shown in the two examples
below.
When a function is defined in a conditional manner such as the two
examples shown. Its definition must be processed prior
to being called.
Example 12-2. Conditional functions |
<?php
$makefoo = true;
bar();
if ($makefoo) {
function foo()
{
echo "I don't exist until program execution reaches me.\n";
}
}
if ($makefoo) foo();
function bar()
{
echo "I exist immediately upon program start.\n";
}
?>
|
|
Example 12-3. Functions within functions |
<?php
function foo()
{
function bar()
{
echo "I don't exist until foo() is called.\n";
}
}
foo();
bar();
?>
|
|
PHP does not support function overloading, nor is it possible to
undefine or redefine previously-declared functions.
Note:
Function names are case-insensitive, though it is usually good form
to call functions as they appear in their declaration.
PHP 3 does not support variable numbers of arguments to functions,
although default arguments are supported (see Default argument
values for more information). PHP 4 supports both: see Variable-length argument
lists and the function references for
func_num_args(),
func_get_arg(), and
func_get_args() for more information.