Programación Web y Scripting > PHP

 Funciones Con Argumentos Variables...

(1/2) > >>

ibito:
Es posible en php, tener una funcion con un numero indeterminado de argumentos?
por ejemplo, que una funcion sea:


--- Código: Text --- sumar(1, 2, 3, 4);  
e igual manera pueda recibir:

--- Código: Text --- sumar(1,2,3,4,5,6,7);  
no se si me explico...

Avalon:
Si, es posible.

Deberás indicar un valor por defecto para los argumentos opcionales, esa es la forma en que PHP interpreta que son opcionales.

Por ejemplo


--- Código: Text ---function sumar($valor1, $valor2 = 10) {$total = $valor1 + $valor2;echo $total;} sumar(5); // El resultado que se mostraría por pantalla sería 15sumar(3, 4); // El resultado que se mostraría por pantalla sería 7 

Espero que te sirva.

Salu2,
Avalon

ibito:
:o
La verdad no sabia eso, es interesante, pero mi duda no era esa, pero leyendo tu respuesta creo que me expresé mal.

Mi duda es, que por ejemplo, si ponemos:

--- Código: Text --- sumar(1,2);  el resultado fuese: 3

si ponemos

--- Código: Text --- sumar(1,2,3);  el resultado fuese: 6

y si pusieramos

--- Código: Text --- sumar(1);  el resultado fuese: 1

a ver si pueden ayudarme  :blink:

Gracias

Avalon:
Pués solo se me ocurre hacerlo de esa forma, no se si habrá otra manera para un número de argumentos indeterminado. O eso o pasar los valores en un array :unsure:


--- Código: Text ---function sumar($valor1, $valor2 = 0, $valor3 = 0, $valor4 = 0, $valor5 = 0, $valor6 = 0, $valor7 = 0, $valor8 = 0, $valor9 = 0, $valor10 = 0) {$total = $valor1 + $valor2 + $valor3 + $valor4 + $valor5 + $valor6 + $valor7 + $valor8 + $valor9 + $valor10;return $total;} echo sumar(5); // El resultado que se mostraría por pantalla sería 5echo sumar(3, 4); // El resultado que se mostraría por pantalla sería 7echo sumar(1, 6, 9); // El resultado que se mostraría por pantalla sería 16 

hdr:
yo no se php pero estoy leyendo el manual y en la parte de funciones dice:

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.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa