Foros del Web » Programando para Internet » PHP »

if anidados

Estas en el tema de if anidados en el foro de PHP en Foros del Web. Muy buenas a todos! tengo una función que me calcula un precio dependiendo de una Actividad, un Proyecto y un Grupo obtenidos a través de ...
  #1 (permalink)  
Antiguo 13/06/2011, 04:55
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años
Puntos: 3
if anidados

Muy buenas a todos!
tengo una función que me calcula un precio dependiendo de una Actividad, un Proyecto y un Grupo obtenidos a través de un formulario. Mi problema está en el primer if: quiero que me haga ese cálculo en el caso de que proyecto = WDM, grupo = IO y la actividad sea la 23, 24, 25 o 27. Sin embargo en estos casos siempre se me va por el elseif...
Muchas gracia y un saludo
Código:
     function calcularPrecioK($actividad, $escalado, $precio, $cantidad, $proyecto, $grupo){
              $activiti == array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','26');
               if(($actividad=='23' || $actividad=='24' || $actividad=='25' || $actividad=='27') && $grupo=='IO' && $proyecto=='WDM'){
                    $precioK25 =$precio*$escalado*$cantidad;
                    return $precioK25;
                break;
                }
                else if($grupo=='IO'){
                     $escaladoK25= $escalado*1.25;
              
                    $precioK25 = $precio*$escaladoK25*$cantidad;
                    return $precioK25;
                break;
                }
                else {
                    $precioK25 =$precio*$escalado*$cantidad;
                    return $precioK25;
                break;
                }
    }
  #2 (permalink)  
Antiguo 13/06/2011, 05:27
 
Fecha de Ingreso: septiembre-2007
Mensajes: 152
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: if anidados

no estoy seguro que sea por esto:

$actividad=='23' || $actividad=='24' || $actividad=='25' || $actividad=='27'

pero si 23,24,25,27 son numero la condicion seria sin comillas

$actividad==23 || $actividad==24 || $actividad==25 || $actividad==27

saludos
  #3 (permalink)  
Antiguo 13/06/2011, 05:54
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años
Puntos: 3
Respuesta: if anidados

Muchas gracias por la contestación darkram. al final lo he resuelto simplificando un poco el asunto. Yo creo que la clave estaba en unos paréntesis mal puestos y en cambiar == por ===
Un saludo!!!
Código:
 function calcularPrecioK($actividad, $escalado, $precio, $cantidad, $proyecto, $grupo){
               if($actividad==='23' || $actividad==='24' || $actividad==='25' || $actividad==='27' && $grupo=='IO' && $proyecto=='WDM'){
                    $precioK25 =$precio*$escalado*$cantidad;
                    return $precioK25;
                break;
                }
                else if($grupo=='IO'){
                     $escaladoK25= $escalado*1.25;
              
                    $precioK25 = $precio*$escaladoK25*$cantidad;
                    return $precioK25;
                break;
                }
                else {
                    $precioK25 =$precio*$escalado*$cantidad;
                    return $precioK25;
                break;
                }
    }

Etiquetas: anidados
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 08:43.