Una función se puede definir con la siguiente sintaxis:
Ejemplo 12-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 12-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 12-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.