Foros del Web » Programando para Internet » PHP »

Comparar valores

Estas en el tema de Comparar valores en el foro de PHP en Foros del Web. Hola, mirad, tengo este codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original if ( isset ( $_REQUEST [ 'k' ] ) ) { for ( $i ...
  #1 (permalink)  
Antiguo 02/12/2010, 16:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Comparar valores

Hola, mirad, tengo este codigo
Código PHP:
Ver original
  1. if (isset($_REQUEST['k']))
  2. {
  3. for ($i=0;$i<$_REQUEST['k'];$i++)
  4. {
  5. $j = $_REQUEST['j'."$i".''];
  6. $actividad = $_REQUEST['actividad'."$j".''];
  7. echo $actividad.'<br/>';
  8. }
  9. }

Segun esto, el resultado puede ser, por ejemplo:

Coordinacion de seguridad.
Ensayos
Demolicion.

Lo que quiero conseguir es poder comparar esos resultados para ver si hay repetidos.
Aclarar que el resultado puede ser un solo registro (ensayos), o pueden ser dos (ensayos y demolicion) o tres, etc.
Tambien decir que puede haber repetidos (ensayos, demolicion, ensayos) o no (ensayos, demolicion, coordinacion de seguridad)

Lo importante es que se pueda comprobar si hay repetidos o no los hay.

Un saludo.
  #2 (permalink)  
Antiguo 02/12/2010, 16:16
 
Fecha de Ingreso: abril-2010
Ubicación: Colombia
Mensajes: 229
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Comparar valores

Bueno lo primero que debes hacer es organizar los datos para que los que esten repetido queden seguidos y asi pueda ser mas facil la comparacion. Luego guardas en una variable el dato anterior y lo vas comparando con el siguiente.



Código PHP:
Ver original
  1. if (isset($_REQUEST['k']))
  2.  
  3.       {
  4.  
  5.       for ($i=0;$i<$_REQUEST['k'];$i++)
  6.  
  7.       {
  8.  
  9.       $j = $_REQUEST['j'."$i".''];
  10.  
  11.       $actividad = $_REQUEST['actividad'."$j".''];
  12.  $dat = "";
  13.     if($dat != $actividad){
  14.       $dat == $actividad
  15.           echo $actividad.'<br/>';
  16.    }
  17.  
  18.       }
  19.  
  20.       }


espero que te de una idea de como hacerlo
  #3 (permalink)  
Antiguo 02/12/2010, 16:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Comparar valores

Hola. Gracias por responderme, pero esto que has puesto en realidad no hace nada, se trata de, fuera del for, comprar los resultados para ver si hay repetidos
  #4 (permalink)  
Antiguo 03/12/2010, 04:57
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 8 meses
Puntos: 26
Respuesta: Comparar valores

Guarda todos los datos en un array. Luego utiliza la funcion array_unique().Eso seria para eliminarlos.

EDIT: Si quieres contarlo mira esta pagina a ver si te sirve: http://www.forosdelweb.com/f18/hay-a...sto-no-835102/
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.

Última edición por Vallu; 03/12/2010 a las 05:24
  #5 (permalink)  
Antiguo 03/12/2010, 11:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Comparar valores

Bueno, al final lo hize asi

Código PHP:
Ver original
  1. if (isset($_REQUEST['k']))
  2. {
  3.     //Comprobamos que de todas las actividades que se han enviado en el form, no hay ninguna repetida
  4.     for ($i=0;$i<$_REQUEST['k'];$i++)
  5.     {
  6.         $j = $_REQUEST['j'."$i".''];
  7.  
  8.         $actividad = $_REQUEST['actividad'."$j".''];
  9.         //Creo el array añadiendole todas las actividades que han enviado en el formulario para poder comprobar despues si hay alguna repetida.
  10.         $array[$i] = $actividad;
  11.     }
  12.    
  13.     //Cuento los valores que tiene el array
  14.     $array1 = count($array);
  15.     //Quito los que esten repetidos
  16.     $array2 = array_unique($array);
  17.     //Vuelto a contar los valores del array, pero esta vez sin repetidos
  18.     $array3 = count($array2);
  19.    
  20.     //Comparo los valores que hay en cada array. Si es igual, no habia repetidos. Si es diferente, si
  21.     if ($array1 != $array3)
  22.  
  23. A partir de aqui, otras instrucciones que no tiene que ver con el hilo.

Etiquetas: comparar
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 13:06.