Foros del Web » Programando para Internet » PHP »

eliminar elementos de array que separo con explode

Estas en el tema de eliminar elementos de array que separo con explode en el foro de PHP en Foros del Web. Hola a todos antes que nada he visto la siguiente forma de eliminar elementos repetido en un array pero aún no se como aplicarlo al ...
  #1 (permalink)  
Antiguo 02/06/2012, 15:59
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
eliminar elementos de array que separo con explode

Hola a todos antes que nada he visto la siguiente forma de eliminar elementos repetido en un array pero aún no se como aplicarlo al caso que yo estoy haciendo:

Código PHP:
Ver original
  1. <?php
  2. $tuArray=array(15,13,15);
  3. $myarreglo_limpio = array_unique ($tuArray);
  4.  
  5. for ($contar=0;$contar<count($myarreglo_limpio);$conta r++)
  6. {
  7. echo $myarreglo_limpio[$contar]."<hr>";
  8. }
  9.  
  10. //Imprime bien 13 y 15.
  11. ?>

Tengo un problema a la hora de pasar campos en formulario y es que debo validar elementos que no sean repetidos ya que estoy enviando input que se crean dinamicamente co javascript y que tienen el mismo name asi:

Código HTML:
Ver original
  1. <input type="text" name='valoracion[]'>

entonces cuando recibo por POST el formulario lo que hago es hacer esto :

Código PHP:
Ver original
  1. <?php
  2. $i=0;
  3.  while($i<count($_POST['valoracion']))
  4.     {
  5.          if( $_POST['valoracion'][$i]!="")
  6.           echo $_POST['valoracion'][$i]."<br/>";
  7.      $i++;
  8.      }
  9. ?>

Y esto me muestra todos los valores ingresados en las cajas de texto, pero no se como aplicar la funcion de array_unique en este caso

como formo una variable que quede de este tipo:

$tuArray=array(15,13,15);

?

Agradezco me puedan colaborar
  #2 (permalink)  
Antiguo 02/06/2012, 16:04
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Respuesta: eliminar elementos de array que separo con explode

No se si te he entendido muy bien xD

en ' $_POST['valoracion'] ' es donde tienes el array con los datos duplicados ??


Si es asi con


Código PHP:
$arrayLimpio array_unique$_POST['valoracion'] ) ; 
te deberia funcionar.


Si no es esto, explicamelo un poco mejor =)
__________________
» Presupuesto Pagina Web
  #3 (permalink)  
Antiguo 02/06/2012, 16:26
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: eliminar elementos de array que separo con explode

Estoy probandolo de esta manera:

Código PHP:
Ver original
  1. $i=0;
  2.     $arrayLimpio = array_unique( $_POST['valoracion'] ) ;
  3.       while($i<count($arrayLimpio))
  4.       {
  5.         echo $_POST['valoracion'][$i]."<br/>";
  6.         $i++;
  7.       }
Pero veo que cuando hay muchas cajas de texto, se repiten alguos valores...Porque puede presentarse eso?,
Asi como lo estoy haciendo esta bien ??
  #4 (permalink)  
Antiguo 02/06/2012, 16:29
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: eliminar elementos de array que separo con explode

Creo que debe ser asi no ?

Código PHP:
Ver original
  1. while($i<count($arrayLimpio))
  2.       {
  3.         echo $arrayLimpio[$i]."<br/>";
  4.         $i++;
  5.       }

Pero eso me muestra est error:

Undefined offset: 2

porque si el ciclo esta recorriendo el array limpio ??
  #5 (permalink)  
Antiguo 02/06/2012, 16:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Respuesta: eliminar elementos de array que separo con explode

el count de un array te muestra el nº de elementos que contiene.


Si un array tiene 10 elementos, te devuelve un 10.

Pero al recorrerlo, los valores van del 0 al 9

Por lo que tu codigo deberia ser asi :

Código PHP:
$i=0;
    
$arrayLimpio array_unique$_POST['valoracion'] ) ; 
      while(
$i < ( count($arrayLimpio) - ))
      {
        echo 
$_POST['valoracion'][$i]."<br/>";
        
$i++;
      } 
Asi no te deberia dar ningun problema.

Pero aun mejor, olvidate de esa forma de recorrer arrays, usalo con un foreach.


Código PHP:
foreach($arrayLimpio as $indice => $value)
    echo 
$value."<br>" 
__________________
» Presupuesto Pagina Web
  #6 (permalink)  
Antiguo 02/06/2012, 16:40
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: eliminar elementos de array que separo con explode

Muchas gracias, me funcionó perfectamente !!!
  #7 (permalink)  
Antiguo 02/06/2012, 16:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Respuesta: eliminar elementos de array que separo con explode

De nada, un placer =)
__________________
» Presupuesto Pagina Web
  #8 (permalink)  
Antiguo 03/06/2012, 08:14
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: eliminar elementos de array que separo con explode

Aunque me queda una última duda, por ejemplo si tengo una cadena asi:

Código PHP:
Ver original
  1. <?php
  2. $cadena="a,b,c,a,a,a,c,d";
  3. ?>
Yo podria hacer un explode y separar por las comas... para este caso, como aplicaria el array_unique ??

Etiquetas: elementos, explode, formulario, variables
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 12:10.