Foros del Web » Programando para Internet » PHP »

recorrer array asociativo (multidimensional)

Estas en el tema de recorrer array asociativo (multidimensional) en el foro de PHP en Foros del Web. hola he leido por ahi y buscado en muchas partes pero no logro dar con la funcion o forma de recorrer un array asociativo(con indices ...
  #1 (permalink)  
Antiguo 28/07/2008, 17:12
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo recorrer array asociativo (multidimensional)

hola

he leido por ahi y buscado en muchas partes pero no logro dar con la funcion o forma de recorrer un array asociativo(con indices texto)

Código PHP:
$MATRIZ[$id]['nom'] = trim($compet[$pp][1]);
$MATRIZ[$id]['des'] = trim($compet[$pp][2]);
$MATRIZ[$id]['rut'] = trim($arreglo[$nfilas][0]); 
asi lleno el array

como lo recorro para mostrarlo luego...???
  #2 (permalink)  
Antiguo 28/07/2008, 17:37
 
Fecha de Ingreso: julio-2008
Mensajes: 83
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: recorrer array asociativo (multidimensional)

Hola, usando foreach podes, un ejemplo:

Código PHP:
foreach($MATRIZ as $item)
{
    echo 
$item['nom'];
    echo 
$item['des'];
    echo 
$item['rut'];

Si necesitas recorrer cada elemento de la segunda dimension del array, podrias anidar 2 foreach, algo asi:


Código PHP:
foreach($MATRIZ as $item)
{
    foreach(
$item as $key => $value)
    {
        echo 
$key// Nombre de la variable(nom, des, rut, etc)
        
echo $value// Su valor
    
}

Saludos
  #3 (permalink)  
Antiguo 28/07/2008, 19:01
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: recorrer array asociativo (multidimensional)

Holas hzapata9

A lo que te enseñó Thaorius, quisiera agregar este artículo que escribí hace un tiempo sobre cómo entender las matrices multidimensionales en PHP :) Espero que te sirva también:

Arreglos en PHP
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #4 (permalink)  
Antiguo 29/07/2008, 08:36
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: recorrer array asociativo (multidimensional)

con lo de Thaorius me muestra esto:

nom--->>>generar mayor ventas
des--->>>generar ventas superiores a un 30% con respecto al periodo anterior
rut--->>>15296xxx-H

he hecho esto:

Código PHP:
foreach($MATRIZ as $item)
{
    foreach(
$item as $key => $value)
    {
        echo 
"--->>>".$value."<br>"// Su valor
    
}

lo que me muestra es esto:

--->>>generar mayor ventas
--->>>generar ventas superiores a un 30% con respecto al periodo anterior
--->>>15296xxx-H
.
.
quiero saber como puedo manejar cada item en forma independiente, o sea, nombre, descripcion y clave, tambien necesito manipular "$id" , recurden que la MATRIZ la definia asi:
Código PHP:
$MATRIZ[$id]['nom']
$MATRIZ[$id]['des']
$MATRIZ[$id]['rut'

como obtengo "$id" y manipulo los "campos" por separado???
  #5 (permalink)  
Antiguo 29/07/2008, 10:41
 
Fecha de Ingreso: junio-2008
Mensajes: 53
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: recorrer array asociativo (multidimensional)

he logrado esto con ayuda... pero no logro recorrer las flias de $MATRIZ[$idcom]['algo']
Código PHP:
foreach($COMPETENCIAS as $competencia) {
    
$flag false;
    foreach(
$MATRIZ as $item){
    
        if( 
$competencia == $item['idcom'] ) { // aqui no logro tener el valor de $idcom
            
echo "si";
            if( !
flag ) {
                echo 
$item['nom'];
                echo 
$item['des'];
                
$flag true;
            }
            echo 
$item['rut'];
        }
        echo 
"<br>";
    } 

  #6 (permalink)  
Antiguo 29/07/2008, 11:17
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: recorrer array asociativo (multidimensional)

¿Qué tipo de valor tiene $idcom? Yo pensaba que era un numérico O_o...

Para recorrer tu matriz te sugiero usar FOR y luego FOREACH. Algo así:

Código PHP:
for ($i 0$i count($matriz); $i++)
{
  foreach (
$matriz[$i] as $key => $valor)
  {  }

No es lo mismo que tú requieres según tu último código, pero es para que te hagas la idea de cómo recorrer tu matriz con índices distintos.

(No leíste el artículo que escribí y que te di el link ¬¬)
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #7 (permalink)  
Antiguo 26/07/2012, 09:25
Avatar de julio899  
Fecha de Ingreso: junio-2011
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Mensaje Respuesta: recorrer array asociativo (multidimensional)

muchas Gracias, Me sirvió mucho y ahorro tiempo para generar una tabla donde las nombres de variables de los campos siempre variaban.
Aquí abajo les dejo el código. Que realice.
Código PHP:

$jsonDeepbit
=file_get_contents($url_deepbit_API);
$objDeepbit=json_decode($jsonDeepbit);

$array=json_decode($jsonDeepbit,true);
$workers=$array['workers'];
echo 
"<br><b>Cantidad de Trabajadores:</b>".count($workers);

echo 
"<table><caption>Trabajadores</caption>
<tr>
<th>Trabajador</th>
<th>alive</th>
<th>shares</th>
<th>stale</th>
</tr>"
;
foreach(
$workers as $item=>$key)
{
    echo 
"<tr>";
    echo 
"<td>$item</td>";
    echo 
"<td>".$key['alive']."</td>";
    echo 
"<td>".$key['shares']."</td>";
    echo 
"<td>".$key['stales']."</td>";
    echo 
"</tr>";
}  
echo 
"</table>"
Espero que a alguna persona le pueda ser de utilidad.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:54.