Foros del Web » Programando para Internet » PHP »

Pasarle condiciones a un array

Estas en el tema de Pasarle condiciones a un array en el foro de PHP en Foros del Web. Colegas tengo un arreglo que me recoje números de cuentas y quisiera poder pasarle a ese arreglo condiciones, es decir, por ejemplo: mi arreglo contiene ...
  #1 (permalink)  
Antiguo 10/09/2011, 10:08
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba, Pinar del Río
Mensajes: 82
Antigüedad: 13 años, 3 meses
Puntos: 0
Pasarle condiciones a un array

Colegas tengo un arreglo que me recoje números de cuentas y quisiera poder pasarle a ese arreglo condiciones, es decir, por ejemplo: mi arreglo contiene las cuentas 3,3,4,5,6,6,7 y quisiera poder decirle que si tiene algun valor 3 que se me ejecute una acción determinada y así sucesivamente para cada valor que me traiga el arreglo, el arreglo solo puede traer en este caso valores del 3 al 6, pero como ven en el ejemplo pueden venir repetidos.

Es posible hacer esto, si lo es como me quedaria el código. Demen alguna pista. Salu2.
  #2 (permalink)  
Antiguo 10/09/2011, 10:26
Avatar de Raziel_Ravenheart  
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 13 años, 2 meses
Puntos: 37
Respuesta: Pasarle condiciones a un array

Pues básicamente sería algo como lo suguiente, suponiendo que el array es estático, pero en tu caso se que lo cargas desde alguna base de datos o ingresos por el usuario.. lo cual no viene al caso, lo que si importa es el proceso después de obtener el arreglo

Código PHP:
Ver original
  1. $array = array(3,3,4,5,6,6,7);
  2.  
  3. foreach ($array as $cuenta) {
  4.   if ($cuenta === 3) {
  5.      //hacer algo
  6.   } else if ($cuenta === 4) {
  7.      //hacer algo
  8.   } else if ($cuenta === 4) {
  9.      //hacer algo
  10.   }
  11. }

o puedes hacerlo con un switch:

Código PHP:
Ver original
  1. $array = array(3,3,4,5,6,6,7);
  2.  
  3. foreach ($array as $cuenta) {
  4.   switch ($cuenta) {
  5.     case 3:  //hacer algo preferiblemente llamar una funcion
  6.                  break;
  7.     case 4:  //hacer algo preferiblemente llamar una funcion
  8.                  break;
  9.     case 5:  //hacer algo preferiblemente llamar una funcion
  10.                  break;
  11.     default: //generar mensaje de error o hacer otra cosa
  12.                   break;
  13.   }
  14.  
  15. }


Si no es lo que estas buscando avisas y vemos como te colaboramos.

Exitos
  #3 (permalink)  
Antiguo 10/09/2011, 12:24
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba, Pinar del Río
Mensajes: 82
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Pasarle condiciones a un array

El contenido del array cuentas sale de los id de mis artículos, es decir, tengo un formulario que pide el importe segun los artículos mostrados y los artículos estan en varias cuentas, el formulario genera un campo text para cada artículo, más un campo hidden con las cuentas de los artículos. Cuando se envia el formulario, hago una consulta a la BD y

$sql_s="select * from articulos";
$result_s=mysql_query($sql_s,$link);
if ( $result_s ){
while ( $mrow_s=mysql_fetch_array($result_s) )
{
$id_s=$mrow_s['id_articulo'];
$idsubcuenta=$mrow_s['id_subcuenta'];
$id_subcuenta="id_subcuenta_".$idsubcuenta;
$impt_s="impt_".$id_s;
}
}

esto lo hago para poder cojer cada valor de los campos text que me genera el formulario. Ahora cuando pongo el código tuyo dentro del ciclo while me genera esto:

Los importe de la cuenta 3 son 12.50
Los importe de la cuenta 3 son 150

Los importe de la cuenta 3 son 150
Los importe de la cuenta 3 son 5.10
Los importe de la cuenta 3 son 5.10
Los importe de la cuenta 4 son 5.10
Los importe de la cuenta 3 son 6
Los importe de la cuenta 3 son 6
Los importe de la cuenta 4 son 6
Los importe de la cuenta 4 son 6
Los importe de la cuenta 3 son 1.38
Los importe de la cuenta 3 son 1.38
Los importe de la cuenta 4 son 1.38
Los importe de la cuenta 4 son 1.38
Los importe de la cuenta 5 son 1.38
Los importe de la cuenta 3 son 10
Los importe de la cuenta 3 son 10
Los importe de la cuenta 4 son 10
Los importe de la cuenta 4 son 10
Los importe de la cuenta 5 son 10
Los importe de la cuenta 5 son 10

Como puedes ver me repite el resultado y algunos son incorrectos, solo los que estan en negrita deben ser los que me de. Cómo modifico esto.

Última edición por ariochy11053; 10/09/2011 a las 12:26 Razón: Arreglo del mensaje
  #4 (permalink)  
Antiguo 10/09/2011, 12:34
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba, Pinar del Río
Mensajes: 82
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Pasarle condiciones a un array

Raziel_Ravenheart , ya solucioné el detalle, saqué el ciclo IF para fuera del foreach y ahora si me da el resultado como yo quería:

Los importe de la cuenta 3 son 12.50
Los importe de la cuenta 3 son 150
Los importe de la cuenta 4 son 5.10
Los importe de la cuenta 4 son 6
Los importe de la cuenta 5 son 1.38
Los importe de la cuenta 5 son 10

Gracias colega.

Etiquetas: condiciones
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 21:16.