Foros del Web » Programando para Internet » PHP »

Array asociativo

Estas en el tema de Array asociativo en el foro de PHP en Foros del Web. Hola a todos, esta vez requiero de su ayuda para lograr hacer lo siguiente... tengo un array con datos repetidos: $ejemplo=array("a","a","a","b","b","c","c","c","c" ,"c"); tengo que recorrer ...
  #1 (permalink)  
Antiguo 24/01/2011, 18:45
 
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 0
Array asociativo

Hola a todos, esta vez requiero de su ayuda para lograr hacer lo siguiente... tengo un array con datos repetidos:

$ejemplo=array("a","a","a","b","b","c","c","c","c" ,"c");

tengo que recorrer ese array y mientras lo voy recorriendo formar un array asociativo que quede formado de la siguiente manera:

$asociativo=array("letra"=>$letra, "cantidad"=>$cantidad);

donde $letra es por ej: a y cantidad es 3... o sea q el array tiene como indice el valor de $ejemplo y como valor tiene la cantidad de veces q se repite ese dato.

Probe varios algoritmos pero nada funciona... espero que alguien pueda orientarme..

Muchas gracias!
  #2 (permalink)  
Antiguo 24/01/2011, 19:27
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Array asociativo

Debe existir algo mas corto, pero lo que se me ocurrió fue lo que sigue
Código PHP:
Ver original
  1. $ingreso        = array("a","a","a","b","b","c","c","c","c" ,"c");
  2. $ejemplo        =array_unique($ingreso);
  3.  
  4. $cadena         = implode('', $ingreso);
  5.  
  6. $asociativo = array();
  7. foreach ($ejemplo as $caracter)
  8. {
  9.     $asociativo[$caracter] = substr_count($cadena, $caracter);
  10. }
  11.  
  12. var_dump($asociativo);

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: Ninguno
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 01:58.