Funciones

Cap铆tulo 17. Funciones

Tabla de contenidos
Funciones definidas por el usuario
Par谩metros de las funciones
Devolviendo valores
Funciones variables
Funciones internas (incorporadas)

Funciones definidas por el usuario

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&oacute;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.