Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo...

14

Transcript of Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo...

Page 1: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,
Page 2: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Una función se define con la siguiente sintaxis:

function foo ($arg_1, $arg_2, ..., $arg_n) {

echo "Función de ejemplo.\n";

return $retval;

}

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

PHP no soporta la sobrecarga de funciones, y tampoco es posible redefinir u ocultar funciones previamente declaradas.

PHP3 no soporta un número variable de parámetros, aunque sí soporta parámetros por defecto. PHP4 soporta ambos.

Page 3: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

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

PHP soporta pasar parámetros por valor (el comportamiento por defecto), por referencia, y parámetros por defecto.

Listas de longitud variable de parámetros sólo están soportadas en PHP4 y posteriores

Page 4: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Por defecto, los parámetros de una función se pasan por valor (de manera que si cambias el valor del argumento dentro de la función, no se ve modificado fuera de ella).

Si deseas permitir a una función modificar sus parámetros, debes pasarlos por referencia.

Si quieres que un parámetro de una función siempre se pase por referencia, puedes anteponer un ampersand (&) al nombre del parámetro en la definición de la función

Page 5: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

function add_some_extra(&$string) {$string .= ’ y algo más.’;

}$str = ’Esto es una cadena, ’;add_some_extra($str);echo $str; // Saca ’Esto es una cadena, y algo más.’

Page 6: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Si deseas pasar una variable por referencia a una función que no toma el parámetro por referencia por defecto, puedes anteponer un ampersand al nombre del parámetro en la llamada a la función:

function foo ($bar) {$bar .= ’ y algo más.’;

}$str = ’Esto es una cadena, ’;foo ($str);echo $str; // Saca ’Esto es una cadena, ’foo (&$str);echo $str; // Saca ’Esto es una cadena, y algo más.’

Page 7: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Una función puede definir valores por defecto para los parámetros escalares estilo C++:

function makecoffee ($type = "cappucino") {return "Hacer una taza de $type.\n";}echo makecoffee ();echo makecoffee ("espresso");

La salida del fragmento anterior es:

Hacer una taza de cappucino.

Hacer una taza de espresso.

Page 8: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Los argumentos con valores por defecto deben ser siempre los últimos:

functionmuestranombre($nombre, $titulo="Sr."){

print"Estimado $titulo$nombre:\n";

}

muestranombre(“Fernández”);

muestranombre(“Fernández”, "Prof.");

Salida:

Estimado Sr. Fernández:

Estimado Prof. Fernández:

Page 9: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Los valores se retornan usando la instrucción opcional return. Puede devolverse cualquier tipo de valor, incluyendo listas y objetos.

function square ($num) {return $num * $num;}echo square (4); // saca ’16’.

Page 10: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

No puedes devolver múltiples valores desde una función, pero un efecto similar se puede conseguir devolviendo una lista.

function small_numbers() {return array (0, 1, 2);}list ($zero, $one, $two) = small_numbers();

Page 11: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

Existen muchas bibliotecas de funciones en PHP Algunos ejemplos:

− Funciones de manipulación de cadenas− Funciones de fecha y hora− Funciones de arrays− Funciones de ficheros− Funciones matemáticas− Funciones de bases de datos− Funciones de red

Algunas bibliotecas requieren la instalación de componentes adicionales

Todas las funciones de biblioteca están comentadas en la documentación de PHP

Page 12: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

explode(): Divide una cadena en subcadenas

array explode(stringseparator, stringstring[, intlimit]) rtrim(), ltrim(), trim(): Eliminan caracteres a la

derecha, a la izquierda o por ambos lados de una cadena

string rtrim( stringstr[, stringcharlist]) strstr(): Busca la primera ocurrencia de una

subcadena strtolower() / strtoupper(): Convierte una cadena a

minúscula / mayúscula strcmp() / strcasecmp(): Compara dos cadenas

con/sin distinción de mayúsculas strlen(): Calcula la longitud de una cadena

Page 13: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

date(): Formatea una fecha según un formato dado Ejemplo:

$fecha= date ("j/n/Y H:i");print("$fecha");Resultado:26/9/2005 17:36

strtotime(): Convierte una fecha en un timestampde UNIX

Ejemplo:$fecha= date ("j/n/Y", strtotime(“5 april 2001"));print("$fecha");Resultado:5/4/2001

Page 14: Una función se define con la siguiente sintaxis: function foo ($arg_1, $arg_2,..., $arg_n) { echo "Función de ejemplo.\n"; return $retval; } En PHP3,

array_count_values(): Calcula la frecuencia de cada uno de los elementos de un array

array_search(): Busca un elemento en un array

count(): Cuenta los elementos de un array

sort(), rsort(): Ordena y reindexa un array (r=decreciente)

ksort(), krsort(): Ordena por claves un array (r=decreciente)