Una funci贸n se puede definir con la siguiente sintaxis:
Ejemplo 17-1. Psuedo c贸digo para demostrar el uso de
funciones
<?php function foo ($arg_1, $arg_2, ..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } ?>
|
|
Cualquier instrucci贸n v谩lida de PHP puede aparecer en
el cuerpo de la funci贸n, incluso otras funiones y
definiciones de clases.
En PHP3, las funciones deben definirse antes de que se referencien.
En PHP4 no existe tal requerimiento.Excepto
cuando una funci贸n es definida condicionalmente como en los
ejemplos siguientes.
Cuando una funci贸n es definida condicionalmente como se
puede ver en estos dos ejemplos, su definici贸n debe ser
procesada antes que sea llamada.
Ejemplo 17-2. Funciones Condicionales
<?php
$makefoo = true;
/* We can't call foo() from here since it doesn't exist yet, but we can call bar() */
bar();
if ($makefoo) { function foo () { echo "I don't exist until program execution reaches me.\n"; } }
/* Now we can safely call foo() since $makefoo evaluated to true */
if ($makefoo) foo();
function bar() { echo "I exist immediately upon program start.\n"; }
?>
|
|
Ejemplo 17-3. Funciones dentro de funciones
<?php function foo() { function bar() { echo "I don't exist until foo() is called.\n"; } }
/* We can't call bar() yet since it doesn't exist. */
foo();
/* Now we can call bar(), foo()'s processesing has made it accessible. */
bar();
?>
|
|
PHP no soporta la redefinici贸n de funciones previamente
declaradas.
Nota:
Los nombres de funciones se pueden llamar con mayusculas o
minusculas, aunque es una buena costumbre el llamar a las
funciones tal y como aparecen en su definici贸n.
PHP3 no soporta un n煤mero variable de par谩metros,
aunque s铆 soporta par谩metros por defecto (ver Valores por defecto de de los
par谩metros para m谩s informaci贸n). PHP4
soporta ambos: ver Listas de longitud variable
de par谩metros y las referencias de las funciones
func_num_args(),
func_get_arg(), y
func_get_args() para m谩s
informaci贸n.