Curso de PHP

Funciones


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Conceptos básicos. Funciones definidas por el usuario

Una función es un conjunto de instrucciones agrupadas bajo un mismo nombre que puede ser llamada tantas veces como queramos desde diferentes sitios del programa, ahorrándonos así la necesidad de escribirlas de nuevo.

Para definir una función se utiliza la siguiente sintaxis:

function nombre_funcion(parametro1, parametro2...)
{
instrucción1;
instrucción2;
instrucción3;
instrucción4;

return valor_de_retorno;
}

En el esquema anterior podemos distinguir varias partes:

  • la primera línea es la cabecera de la función, que, a su vez, consta de:
    • la palabra clave function
    • el nombre de la función que no debe llevar acentos, espacios en blanco, ni caracteres especiales.
    • y, encerrada entre paréntesis, la lista de parámetros que consta de una serie de parámetros separados por comas ','. Los parámetros (o argumentos) son variables y/o constantes que establecen una "comunicación" entre partes del código, y que se tratarán como variables locales dentro de la función.
  • el resto es el cuerpo de la función, que consta de una sucesión de instrucciones encerradas entre llaves. Cualquier instrucción válida de PHP puede aparecer en el cuerpo de la función, incluso otras funciones y definiciones de clases. 
    Si queremos que la función devuelva como resultado algún valor habrá que añadir una instrucción compuesta por el comando return seguido del valor que será devuelto por la función. 
Nota: Es posible que la lista de parámetros de una función esté vacía, es decir, que no aparezca ningún parámetro dentro de los paréntesis (). Eso sí, los paréntesis siempre deben escribirse.

La llamada a una función tiene la forma:

nombre_funcion(parametro1, parametro2...);

Importante: Debe haber concordancia en número y orden entre la lista de parámetros de la definición de la función y la lista de parámetros de la llamada a la función.

En PHP3, las funciones deben definirse antes de que se referencien (se llamen). En PHP4 no existe tal requerimiento.

  ejecutar ver código fuente

Ver video en formato de WMV Ver video en formato de Flash Sintaxis de funciones en PHP

Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Parámetros de las funciones

La información se suministra a las funciones mediante la lista de parámetros, una lista de variables y/o constantes separadas por comas.

PHP soporta el paso de parámetros por valor (el comportamiento por defecto), por referencia, y parámetros por defecto. 
Además, a partir de PHP4, también soporta listas de parámetros de longitud variable, para lo cual se emplean las funciones de PHP: func_num_args(), func_get_arg(), y func_get_args(). Un efecto similar puede conseguirse en PHP3 pasando un array de parámetros a la función.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Pasar parámetros por valor o  por referencia

Por defecto, los parámetros de una función se pasan por valor, de manera que, al cambiar el valor de un parámetro dentro de la función, no se ve modificado fuera de ella. Para permitir que dichos cambios se vean reflejados fuera de la función, hay que pasar los parámetros por referencia.

Para conseguir que un parámetro de una función siempre se pase por referencia, hay que anteponer un ampersand (&) al nombre del parámetro en la definición de la función:

  ejecutar ver código fuente

Para pasar una variable por referencia a una función que no toma el parámetro por referencia por defecto, hay anteponer un ampersand (&) al nombre del parámetro en la llamada a la función:

  ver código fuente

Nota: Este procedimiento para pasar parámetros por referencia desde la llamada de la función ha quedado en desuso y provocará Warnings en las configuraciones por defecto de PHP.

Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Parámetros por defecto

Una función puede definir valores por defecto para los parámetros escalares. Estos valores serán asignados a los parámetros de la función en caso de que el número de parámetros en la llamada a la función sea inferior al número de parámetros en la definición de la función.

  ejecutar ver código fuente

El código anterior produce la siguiente salida: 

Haciendo una taza de cappucino.
Haciendo una taza de espresso.

Nota: El valor por defecto tiene que ser una expresión constante, y no una variable. En PHP 4.0 también es posible especificar unset como parámetro por defecto. Esto significa que el argumento no tomará ningún valor en absoluto si el valor no es suministrado.

Importante: Cuando se usan parámetros por defecto, estos tienen que estar a la derecha de cualquier parámetro sin valor por defecto; de otra manera las cosas no funcionarán de la forma esperada.

  

La salida del ejemplo anterior es: 

Veamos cómo sería el código correcto:

  ejecutar ver código fuente


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Devolver valores

Para que una función devuelva un valor se emplea la instrucción opcional return. Puede devolverse cualquier tipo de valor, incluyendo listas y objetos.

  

No es posible devolver múltiples valores desde una función, pero un efecto similar se puede conseguir devolviendo una lista, para ello se emplea la función de PHP list(), veamos un ejemplo:

    

El ejemplo anterior muestra por pantalla: 0,1,2,3


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Funciones variable

PHP soporta el concepto de funciones variable, esto significa que si una variable tiene unos paréntesis añadidos al final, PHP buscará una función con el mismo nombre que la evaluación de la variable, e intentará ejecutarla.

  

El resultado es:


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Librería de funciones PHP

En los apartados anteriores hemos estudiado las funciones definidas por el usuario, es decir, funciones creadas por el programador a medida de sus necesidades.

Pero hay que tener en cuenta que PHP cuenta con una extensa y enormemente útil librería de funciones  que debemos conocer y aprovechar al máximo con el fin de agilizar nuestro trabajo. Dada la gran cantidad de funciones predefinidas con las que cuenta PHP, resulta imposible estudiarlas en esta unidad por lo que las iremos estudiando a medida que las necesitemos.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de PHP y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de PHP y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.