Funciones definidas por el usuario
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_