Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recorrer array anidada con foreach

Estas en el tema de Recorrer array anidada con foreach en el foro de PHP en Foros del Web. Buenas, tengo que recorrer el array para que me muestre la pregunta y las respuestas, pero no consigo hacerlo de ninguna manera, copio el array ...
  #1 (permalink)  
Antiguo 19/11/2013, 12:21
 
Fecha de Ingreso: noviembre-2013
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Recorrer array anidada con foreach

Buenas, tengo que recorrer el array para que me muestre la pregunta y las respuestas, pero no consigo hacerlo de ninguna manera, copio el array (en realidad es mucho mas largo pero e pensado que con una parte de el ya habia mas que suficiente) y mi codigo y haber si alguien me puede iluminar.

Array:
Código PHP:
$test = array(
    Array(
'pregunta' =>'Donde se ejecuta el codigo PHP?',
        
'respuestas' => Array('Servidor','Cliente'),
        
'correcta' => 
    
),
    Array(
'pregunta' =>'Cual de estat son marcas para la insercion del codigo PHP en html?',
        
'respuestas' => array('< ? y ? >','< php >< /php >','<# y #>'),
        
'correcta' => 1
    
),
    Array(
'pregunta' =>'En que atributo del formulario especificamos la pagina a la que se envian los datos?',
        
'respuestas' => array('name','file','action','description'),
        
'correcta' => 3
    
),
    Array(
'pregunta' =>'Cual de estas instrucciones esta bien escrita en PHP?',
        
'respuestas' => array('if (a=0) print a','if (a==0) echo "hola mundo";','if (a==0) { echo ok }','if (a==0): print a;'),
        
'correcta' => 2
    
)
); 
Mi foreach:
Código PHP:
     foreach ($test as $key => $value
    {
            foreach (
$value as $key2 => $value2)
        {
                echo 
$value2;
            echo 
"<br>";
               }
        if (
$key2=="respuestas")
        foreach (
$key2 as $key3 => $value3)
            {
                echo 
$value3;
                echo 
"<br>";
            }
        else
            {
                echo 
"";
            }
     } 
Tambien e probado asi:
Código PHP:
      foreach ($test as $key => $value
    {
            foreach (
$value as $key2 => $value2)
        {
                echo 
$value2;
            echo 
"<br>";
               }
    
     } 
Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 19/11/2013, 12:50
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: Recorrer array anidada con foreach

Bienvenid@ al foro.

Puedes hacer esto:

Código PHP:
Ver original
  1. foreach ($test as $t) {
  2.     echo "Pregunta: {$t['pregunta']} <br />";
  3.    
  4.     echo 'Respuestas: <br />';
  5.    
  6.     foreach ($t['respuestas'] as $res) {
  7.         echo "$res <br />";
  8.     }
  9.    
  10.     echo "Correcta: {$t['correcta']} <hr />";
  11. }

Te recomiendo que uses print_r entre etiquetas html <pre></pre>, para que sepas como recorrer ese array.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 19/11/2013, 12:57
 
Fecha de Ingreso: noviembre-2013
Mensajes: 47
Antigüedad: 11 años
Puntos: 0
Respuesta: Recorrer array anidada con foreach

Vaya, muchisimas gracias! Te lo agradezco mucho, y gracias por la recomendación! La tendre en cuenta! Y tambien gracias por la bienvenida (que mejor no ha podido ser)

Etiquetas: foreach, formulario, html
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 22:01.