Foros del Web » Programando para Internet » PHP »

Duda sobre funciones

Estas en el tema de Duda sobre funciones en el foro de PHP en Foros del Web. Hola, tengo una función (la he conseguido por ahí) tal que así: Código PHP: public function  mifuncion ( $uno ,  $dos ,  $tres  =  true )  ...
  #1 (permalink)  
Antiguo 11/03/2012, 06:53
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Duda sobre funciones

Hola, tengo una función (la he conseguido por ahí) tal que así:


Código PHP:
public function mifuncion($uno$dos$tres true

yo le quiero pasar hasta 3 parámetros, uno, dos y tres.

la duda es con el tercero que es booleano. si sólo le paso 2 parámetros (uno y dos) y no le paso el tres intuyo que por defecto coge valor true.

Y si opto por pasarle el tercero a false me coge false o siempre (ya que está definido así) va a ser true y no le voy a poder pasar el parámetro?

Dicho de otra forma, puedo pasar false al parámetro tres siempre que quiera? o al ya estar definido por defecto no se puede...
  #2 (permalink)  
Antiguo 11/03/2012, 10:32
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Duda sobre funciones

si puedes,
saludos
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #3 (permalink)  
Antiguo 11/03/2012, 10:42
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: Duda sobre funciones

perdona, no entiendo la respuesta.

quieres decir q aunque por defecto esté a false puedo pasarle true y cogerá true?
  #4 (permalink)  
Antiguo 11/03/2012, 10:47
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Duda sobre funciones

porque no haces la prueba?? el que php permita parámetros por defecto no hace que este siempre tome los mismos, ya que este es un comportamiento para un parámetro que solo cambiamos de valor si así lo necesitamos, pero el probar no quita nada

Código PHP:
Ver original
  1. public function mifuncion($uno, $dos, $tres = true)
  2. {
  3.     var_dump($tres);
  4. }
  5. mifuncion(1,2);
  6. echo "<br />";
  7. mifuncion(1,2,false);
ve que te devuelve una y que te devuelve la otra, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 11/03/2012, 12:55
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: Duda sobre funciones

Pues no sé, con ese ejemplo no me sale nada...
  #6 (permalink)  
Antiguo 11/03/2012, 13:18
 
Fecha de Ingreso: marzo-2012
Ubicación: Mexicali
Mensajes: 9
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: Duda sobre funciones

Saludos,

por lo q veo la funcion esta en una clase (por el modificador public), esa funcion te está indicando que es cierto necesita 3 parametros, dos de ellos son obligatorios (uno y dos) y el tercero es opcional (tres), esto significa q la funcion debe al menos llevar 2 parametros de rigor, el tercero como es opcional si no le pasas el tercer parametro simplemente tercero sera siempre true.

Código PHP:
Ver original
  1. mifuncion('primero','segundo') ;
  2. // Esto hace q el parametro $tres sea igual a true por default.
  3. mifuncion('primero','segundo', 'tercero') ;
  4. // Esto hace q el parametro $tres sea una cadena 'tercero'.
  5. mifuncion('primero','segundo', false) ;
  6. // Esto hace q el parametro $tres sea igual false.

es simplemente para hacer un parametro opcional.
  #7 (permalink)  
Antiguo 11/03/2012, 14:14
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: Duda sobre funciones

Gracias, muy clara la explicación.
  #8 (permalink)  
Antiguo 11/03/2012, 14:16
Avatar de kSebaPerez  
Fecha de Ingreso: marzo-2012
Mensajes: 12
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Duda sobre funciones

El tercer parametro es OPCIONAL.
Es decir, si no lo utilizas entonces tomara el valor true.

Ejemplo:

mifuncion(1, 2, false)
Valores:
$uno = 1;
$dos = 2;
$tres = false;

mifuncion(5,4)
Valores:
$uno = 5;
$dos = 4;
$tres = true;


Es decir, si lo invocas toma el valor que le indicaste. Sino toma el valor 'true'

Etiquetas: funciones
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 06:46.