Foros del Web » Programando para Internet » PHP »

ayuda con valores de un arreglo

Estas en el tema de ayuda con valores de un arreglo en el foro de PHP en Foros del Web. Hola tengo la siguiente estructura de valores en un arreglo Código PHP: $Array =array(array( "edad" => "15" ),array( "edad" => "13" ),array( "edad" => "15" ...
  #1 (permalink)  
Antiguo 13/05/2009, 16:24
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 20 años, 3 meses
Puntos: 1
Pregunta ayuda con valores de un arreglo

Hola tengo la siguiente estructura de valores en un arreglo

Código PHP:
$Array=array(array("edad"=>"15"),array("edad"=>"13"),array("edad"=>"15"),array("edad"=>"13"),array("edad"=>"15"),array("edad"=>"16")); 

y quiero obtener todos los valores que no se repitan como puedo ser intente con
Código PHP:
$Arrayfinal array_unique ($Array);
echo 
"<pre>";
        
        
print_r($Arrayfinal);
        echo 
"</pre>";
    echo 
"<pre>"

solo obtengo el primer elemento del arreglo

Array
(
[0] => Array
(
[edad] => 15
)

)


Alguien me da una mano
  #2 (permalink)  
Antiguo 13/05/2009, 16:39
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: ayuda con valores de un arreglo

es porque todos tienen "edad" como clave, x eso se queda con el primero y asume a los demas como duplicados.

edito: wow! recien noto que tienes un indice dentro de otro... es una limitacion de esa funcion!

Revisa en las notas con respecto a esa funcion ya lo he sufrido y ahi encontre la solución:

http://www.php.net/manual/es/function.array-unique.php
__________________
_________________________
La computadora nació para resolver problemas que antes no existían

Última edición por temaqueja; 13/05/2009 a las 16:47
  #3 (permalink)  
Antiguo 13/05/2009, 16:42
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: ayuda con valores de un arreglo

bueno pero quiero saber como puedo hacer para eliminar los repetidos teniendo esa structura de arreglo.
  #4 (permalink)  
Antiguo 13/05/2009, 17:42
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 10 meses
Puntos: 44
Respuesta: ayuda con valores de un arreglo

Estás creando un array de arrays. Es decir, supongo que compara array con array. Al ser los dos arrays, puede que estés engañando a la función, ya que supongo que no "baje" dos niveles en tu estructura. En el link que te pasaron arriba, hay una respuesta que mensiona tu misma duda.
  #5 (permalink)  
Antiguo 13/05/2009, 17:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: ayuda con valores de un arreglo

Yo creo que con una función pre-armada no podrías tendrías que hacer un foreach() e ir guardando los diferentes.

Saludos.
  #6 (permalink)  
Antiguo 13/05/2009, 18:03
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 109
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: ayuda con valores de un arreglo

Gatorv te agradesco si me das una idea de como podria dentro del foreach guardando los diferentes se que tengo que ir armando un nuevo arreglo dentro del foreach con valores diferentes(no repetidos) eso te entendi pero como evaluo dentrop de este si esta o no repetido
  #7 (permalink)  
Antiguo 13/05/2009, 18:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: ayuda con valores de un arreglo

¿Es necesario que el array tenga esa estructura?

Si es posible, es mejor que el arreglo sea:
$edades = Array(15, 14, 13, 16); //etc etc etc
Ya ahi array_unique si funciona.

Pero si tienes que trabajar con esa estructura obligatoriamente, entonces yo lo que haria es crear un array con la estructura que ya te mencione (con un bucle), manteniendo los indices, y trabajo en base a esa usando array_unique.
De hecho, se me ocurren varias formas, pero lo dejo ahi ... tu decidiras como lo deseas hacer.
  #8 (permalink)  
Antiguo 13/05/2009, 18:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: ayuda con valores de un arreglo

Pues puedes hacer algo así:
Código php:
Ver original
  1. $resultados = array();
  2. foreach( $array as $arr ) {
  3.        if (!in_array($arr['edad'], $resultados) {
  4.                $resultados[] = $arr['edad'];
  5.        }
  6. }
  7.  
  8. var_dump($resultados);

Saludos.
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:20.