Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar Array bidimensional

Estas en el tema de Mostrar Array bidimensional en el foro de PHP en Foros del Web. Buenas a todos Sé que es muy simple para casi todos, pero yo estoy empezando a trabajar con arrays y me encuentro el primer problema ...
  #1 (permalink)  
Antiguo 31/05/2013, 15:35
 
Fecha de Ingreso: mayo-2013
Mensajes: 4
Antigüedad: 10 años, 10 meses
Puntos: 0
Exclamación Mostrar Array bidimensional

Buenas a todos

Sé que es muy simple para casi todos, pero yo estoy empezando a trabajar con arrays y me encuentro el primer problema que me está quitando el sueño, y debe ser una chorrada muy grande.... tengo este array:

$datos= array();
luego hago varias cosas y en un momento dado, tras varias operaciones y consultas a la base de datos, tengo esto:

$datos["$row[equipo]"] = array(
"jugados" => $jugados,
"puntos" => $puntos,
"PG" => $partidos_ganados,
"PE" => $partidos_empatados,
"PP" => $partidos_perdidos,
);

Los datos los guarda bien, pero no soy capaz de mostrarlos en una tabla... he probado con varios for, each, etc etc y nada. Lo que me parece más curioso es que si pongo echo ($datos[0][1]); pasa de mi y no me muestra el dato, que entiendo debería ser el valor "jugados" de la primera fila del array.... también he probado a poner ($datos[0]["jugados"]); y nada...

Tengo puesto un print_r($datos); y efectivamente, me muestra los datos y están bien, pero no consigo mostrarlos.... ¿Me echais una manilla?

Gracias!!!!
  #2 (permalink)  
Antiguo 31/05/2013, 15:46
 
Fecha de Ingreso: mayo-2013
Mensajes: 19
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mostrar Array bidimensional

Tienes un caso como este, puedes probarlo de esta manera:

Código PHP:
<?php
$arreglo1
=Array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd");
print 
"<pre>";print_r($arreglo1);
foreach(
$arreglo1 as $k=>$value){
    echo 
"Valor para ".$k." es: ".$value."<br>";
}
echo 
"<br>".$arreglo1['a'];
?>
  #3 (permalink)  
Antiguo 31/05/2013, 15:51
 
Fecha de Ingreso: mayo-2013
Mensajes: 4
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mostrar Array bidimensional

muchas gracias, pero el problema es que no puedo acceder al dato del array que está dentro, es decir, $datos["$row[equipo]"] he conseguido mostrarlo y lo que quiero es mostrar el valor "jugados".
No sé qué valor tiene cada vez esa variable y por tanto, no puedo poner $datos[valor]["jugados"] porque no sé qué hay en "[valor]". Por eso tendría que ser con un for y poniendo algo como [$i]["jugados"] y que $i vaya aumentando de valor, pero el problema es que no me sale el resultado ni siquiera poniendo echo ($datos[0]["jugados"]);

No se por qué...
  #4 (permalink)  
Antiguo 31/05/2013, 16:00
 
Fecha de Ingreso: mayo-2013
Mensajes: 19
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mostrar Array bidimensional

Mira por facilidad, como te puse en el ejemplo lo puedes hacer con foreach, por el mismo hecho que no sabes el valor que va a tomar, entonces lo tendrias que hacer de la siguiente manera:

foreach($arreglo1 as $k=>$value){
//$k es la llave o clave que tiene el arreglo puede ser 0,1,2,3,4,... o tambien a,b,c,...
//segun como se forme el arreglo

//$value es el valor que se encuentra dentro de esa posición del arreglo entonces
//para un arreglo bidimensional te toca utilizar el $value['jugada'], por ejemplo
echo "Valor para ".$k." es: ".$value."<br>";
}

si utilizas echo $arreglo[0]['jugada'], puede como no puede estar bien porque la primera llave no es "0" puede ser "a", nose si me dejo entender, pero lo ideal es que recorras el arreglo con un foreach que con un for, por que estas utilizando "$row[equipo]" para formar el arreglo y ese puede tomar cualquier valor que puede ser numerico o caracter.
  #5 (permalink)  
Antiguo 31/05/2013, 16:05
 
Fecha de Ingreso: mayo-2013
Mensajes: 4
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mostrar Array bidimensional

Vale, entiendo que entonces al poner $dato[0][1] no va a la "primera fila" del array sino al a fila "0" que obviamente, no existe porque en este caso, siempre van a ser letras.... ¿no?
  #6 (permalink)  
Antiguo 31/05/2013, 16:11
 
Fecha de Ingreso: mayo-2013
Mensajes: 19
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mostrar Array bidimensional

Si, asi es; en este caso por ejemplo tu no sabes que valor va a venir de "$row[equipo]", como te dije puede ser valores numericos, caracter o un string, mirale como puedes hacer, pero si te recomiendo para casos así que utilices el foreach, que utilizado como te envie puedes saber y trabajar incluso con las llaves de los arreglos, te va a ayudar bastante.
  #7 (permalink)  
Antiguo 31/05/2013, 16:16
 
Fecha de Ingreso: mayo-2013
Mensajes: 4
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Mostrar Array bidimensional

vale, pues lo apañaré de otro modo. voy a utilizar número y meto el nombre dentro del array. así creo que podré solucionarlo.

Muchas gracias!!!!

Etiquetas: tabla
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 22:00.