Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La informacin puede ser pasada a las funciones mediante la lista de argumentos, la cual es una lista de expresiones delimitadas por comas. Los argumentos son evaluados de izquierda a derecha. PHP soporta argumentos pasados por valor (por defecto), pasados por referencia, y valores de argumentos predeterminados. Las Listas de argumentos de longitud variable tambin estn soportadas, vea tambin las referencias de funciones para func_num_args(), func_get_arg(), y func_get_args() para ms informacin. Ejemplo #1 Pasar arrays a funciones
<?php function tomar_array($entrada) { echo "$entrada[0] + $entrada[1] = ".$entrada[0]+$entrada[1]; } ?>
<?php function hacercaf($tipo = "capuchino") { return "Hacer una taza de $tipo.\n"; } echo hacercaf(); echo hacercaf(null); echo hacercaf("espresso"); ?>
El resultado del ejemplo sera: Hacer una taza de capuchino. Hacer una taza de . Hacer una taza de espresso. PHP tambin permite el uso de arrays y del tipo especial NULL como valores predeterminados, por ejemplo: Ejemplo #4 Usar tipos no escalares como valores predeterminados
<?php function hacercaf($tipos = array("capuchino"), $fabricanteCaf = NULL) { $aparato = is_null($fabricanteCaf) ? "las manos" : $fabricanteCaf; return "Hacer una taza de ".join(", ", $tipos)." con $aparato.\n"; } echo hacercaf(); echo hacercaf(array("capuchino", "lavazza"), "una tetera"); ?>
El valor predeterminado debe ser una expresin constante, no (por ejemplo) una variable, un miembro de una clase o una llamada a una funcin. Observe que cuando se usan argumentos predeterminados, cualquiera de ellos debera estar a la derecha de los argumentos no predeterminados; si no, las cosas no funcionarn como se esperaba. Considere el siguiente trozo de cdigo: Ejemplo #5 Uso incorrecto de argumentos predeterminados en una funcin
<?php function haceryogur($tipo = "acidfilo", $sabor) { return "Hacer un tazn de yogur $tipo de $sabor.\n"; } echo haceryogur("frambuesa"); ?> // no funcionar como se esperaba
Warning: Missing argument 2 in call to haceryogur() in /usr/local/etc/httpd/htdocs/phptest/functest.html on line 41 Hacer un tazn de yogur frambuesa de . Ahora compare el ejemplo de arriba con este: Ejemplo #6 Uso correcto de argumentos predeterminados en una funcin
<?php function haceryogur($sabor, $tipo = "acidfilo") { return "Hacer un tazn de yogur $tipo de $sabor.\n"; } echo haceryogur("frambuesa"); ?> // funciona como se esperaba
El resultado del ejemplo sera: Hacer un tazn de yogur acidfilo de frambuensa. Nota: A partir de PHP 5, los argumentos que son pasados por referencia pueden tener un valor predeterminado.