parámetros metodos/funciones.

SicKneSs

¿Hay alguna forma de 'obviar' algun o algunos parámetros de un método o función ?

por ej. tengo el siguiente método:

 
function cambiar_estado ($flota, $estado_fuente, $carretera =  null, $nuevo_taller = null) {
...
}

Hay alguna forma para 'saltarme' algún parámetro ? por ejemplo me gustaría en una llamada al método pasarle todos los parámetros excepto el 3º ($carretera)

¿Cómo sería la llamada al método? ¿o estoy obligado a meter un valor de relleno
al 3º parámetro?

salu2.

APOCa

con el "= null" ya lo haces opcional. Solo tienes que pasarle $flota y $estado_fuente:

cambiar_estado ($flota, $estado_fuente);

ahora si quieres saltarte el 3 y no el 4 entonces hasta donde yo se si que tienes que pasarle relleno.

2 respuestas
m0rG

#2

Creo que lo que #1 quiere es saltarse por ejemplo sólo es tercer parámetro de los 4. Es decir algo como:

cambiar_estado ($flota, $estado_fuente, $nuevo_taller)

Esto en PHP no es posible. Ten en cuenta que PHP no tiene forma de distinguir en esta llamada qué parámetros son los que tú quieres pasarle. La única forma de obviar un parámetro que no esté a la derecha de la lista de argumentos es pasarle un valor nulo (o cualquier valor que tú trates como nulo en tu función). Es decir algo como:

cambiar_estado ($flota, $estado_fuente,null, $nuevo_taller)
SicKneSs

Gracias a los dos.

lo que yo pretendo es lo que comenta #2.

Pasaré algún valor de relleno y lo trataré como nulo.

Usuarios habituales

  • SicKneSs
  • m0rG
  • APOCa