Foros del Web » Programando para Internet » PHP »

funcion con parametros opcionales

Estas en el tema de funcion con parametros opcionales en el foro de PHP en Foros del Web. hola una duda con respecto a esto, digamos que creo una funcion asi Código: function algo($p1, $p2="",$p3="",$p4="") { } Entonces al invocarla solo el primer ...
  #1 (permalink)  
Antiguo 17/08/2016, 02:57
 
Fecha de Ingreso: abril-2012
Mensajes: 79
Antigüedad: 12 años, 7 meses
Puntos: 0
funcion con parametros opcionales

hola una duda con respecto a esto, digamos que creo una funcion asi

Código:
function algo($p1, $p2="",$p3="",$p4="")
{

}
Entonces al invocarla solo el primer parametro es obligatorio.
Mi duda es si por ejemplo quiero pasarle el parametro 1 y 4, hay alguna forma de omitir el 2 y el 3?

Porque si la invoco así

Código:
algo("rojo","verde");
...la función interpreta que "verde" es el parametro 2, por lo que estoy obligado a especificar parametros que no voy a utilizar

Código:
algo("rojo","", "", "verde");
Se entiende?
  #2 (permalink)  
Antiguo 17/08/2016, 06:12
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: funcion con parametros opcionales

Que yo sepa no hay ninguna forma de hacer lo que pides.

Lo qui si puedes hacer es que el segundo parámetro sea un array con el cual puedas establecer los parámetros a tu antojo y procesar el array dentro de la función. Es una forma bastante usada para establecer propiedades de una clase con un solo método.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 17/08/2016, 06:34
 
Fecha de Ingreso: abril-2012
Mensajes: 79
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: funcion con parametros opcionales

Entiendo gracias.
  #4 (permalink)  
Antiguo 17/08/2016, 08:00
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: funcion con parametros opcionales

Código PHP:
Ver original
  1. function sum($number, ...$numbers) {
  2.     $acc = $number;
  3.     foreach ($numbers as $n) {
  4.         $acc += $n;
  5.     }
  6.     return $acc;
  7. }
  8.  
  9. echo sum(1);
  10.  
  11. echo sum(1, 2, 3, 4);
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: funcion, parametros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:05.