Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda con Array en php

Estas en el tema de Duda con Array en php en el foro de PHP en Foros del Web. Buenas tardes a todos, vengo pedir su ayuda, estoy estudiando php y tengo que crear una prueba online recorrendo un array con foreach pero me ...
  #1 (permalink)  
Antiguo 08/05/2014, 10:37
 
Fecha de Ingreso: mayo-2014
Mensajes: 7
Antigüedad: 9 años, 10 meses
Puntos: 0
Pregunta Duda con Array en php

Buenas tardes a todos, vengo pedir su ayuda, estoy estudiando php y tengo que crear una prueba online recorrendo un array con foreach pero me sale uns errores raros. Asi estoy enviando mi codigo para ver si alguen pueda ayudarme!!!


<?php

$prueba = array(
'titulo' => 'Prueba Digital Numero 1',
'escala' => '50%',
'preguntas' => array(
0 => array(
'id' => 1,
'tipo' => 'alternativa',
'puntaje' => 2,
'respuesta' => 'b',
'imagen' => 'http://www.loscaballos.org/images/caballo-blanco.jpg',
'enunciado' => '¿De que color es el caballo blanco de Napoleon?',
'alternativas' => array(
'a' => 'Negro',
'b' => 'Blanco',
'c' => 'Depende que estemos fumando',
'd' => 'Ninguna de las anteriores'
)
),
1 => array(
'id' => 2,
'tipo' => 'alternativa',
'puntaje' => 4,
'respuesta' => 'd',
'imagen' => 'http://www.eoi.es/blogs/sostenibilidad/files/2013/02/tren_ave.jpg',
'enunciado' => 'Un tren electrico viaja de sur a norte y el viento va de norte a sur ¿Hacia donde viaja el humo?',
'alternativas' => array(
'a' => 'Norte',
'b' => 'Sur',
'c' => 'Arriba',
'd' => 'No hay humo',
'e' => 'Abajo',
'f' => 'Ninguna de las anteriores'
)
),
2 => array(
'id' => 3,
'tipo' => 'alternativa',
'puntaje' => 1,
'respuesta' => 'a',
'imagen' => 'http://globedia.com/imagenes/noticias/2012/4/2/cae-la-noche_1_1161624.jpg',
'enunciado' => 'Un niño camina por el bosque. Cae la noche y?',
'alternativas' => array(
'a' => 'Muere aplastado',
'b' => 'Llora',
'c' => 'Ninguna de las anteriores'
)
),
3 => array(
'id' => 3,
'tipo' => 'completar',
'puntaje' => 1,
'imagen' => 'http://globedia.com/imagenes/noticias/2012/4/2/cae-la-noche_1_1161624.jpg',
'enunciado' => 'Melon y melame son musicos. {} toca el bombo y Melame la {}.',
'respuesta' => array(
0 => 'Melon',
1 => 'corneta'
)
)
)
);


?>
<html>
<body>
<h2><font color="black">Prueba Digital Numero 1</font></h2><br>
<br>
<form action="marcio3.php" method="POST">
<b><td>Nombre: </td></b><br>
<input type="text" nombre="data[nombre]"></input><br>
<b><td>Rut: </td></b><br>
<input type="text" nombre="data[rut]"></input>
</body>
</html>
<?php
foreach($prueba as $pr){
echo $pr['id'];
echo $pr['enunciado']."<br>";
foreach($pr['alternativas'] as $alt){
echo "<input type='radio' name='data[alternativas]' value=".$alt.">".$alt."</input>"."<br>";
}
}
?>
  #2 (permalink)  
Antiguo 08/05/2014, 10:40
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: Duda con Array en php

Usa el highlight para colorear tu código.
Indica cuáles son los errores raros.
  #3 (permalink)  
Antiguo 08/05/2014, 10:42
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 10 meses
Puntos: 76
Respuesta: Duda con Array en php

Hum, y que errores "raros" te salen ?
  #4 (permalink)  
Antiguo 08/05/2014, 10:45
 
Fecha de Ingreso: mayo-2014
Mensajes: 7
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Duda con Array en php

Warning: Illegal string offset 'id' in C:\wamp\www\marcio2.php on line 79
Warning: Illegal string offset 'enunciado' in C:\wamp\www\marcio2.php on line 80
Warning: Illegal string offset 'alternativas' in C:\wamp\www\marcio2.php on line 81
Warning: Invalid argument supplied for foreach() in C:\wamp\www\marcio2.php on line 81

despues intete cambiando mi codigo para:

foreach($prueba as $pr){
echo $pr['0']["id"];
echo $pr['0']['enunciado']."<br>";
foreach ($pr['0']['alternativas'] as $alt){
echo "<input type='radio' name='data[alternativas]' value=".$alt.">".$alt."</input>"."<br>";
}
}

este me imprime en pantalla pero me sale los mismos errores.
  #5 (permalink)  
Antiguo 08/05/2014, 10:53
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 16 años, 11 meses
Puntos: 292
Respuesta: Duda con Array en php

Warning: Illegal string offset en criollo significa "no existe el indice"

Código PHP:
Ver original
  1. echo $pr['0']["id"];

. ['0'] y [0] son para empezar cosas distintas
. Sobre un array vacio (uni o multidimensional) no puedes acceder a un indice
__________________
Salu2!
  #6 (permalink)  
Antiguo 08/05/2014, 11:05
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 10 meses
Puntos: 76
Respuesta: Duda con Array en php

Hola

Quizas debas verificar la sintaxis y la correcta creacion de arrays... prueba esto:

Código PHP:
Ver original
  1. $prueba[] = array(
  2. 'titulo' => 'Prueba Digital Numero 1',
  3. 'escala' => '50%',
  4. 'preguntas' => array(
  5. 0 => array(
  6. 'id' => 1,
  7. 'tipo' => 'alternativa',
  8. 'puntaje' => 2,
  9. 'respuesta' => 'b',
  10. 'imagen' => 'http://www.loscaballos.org/images/caballo-blanco.jpg',
  11. 'enunciado' => '¿De que color es el caballo blanco de Napoleon?',
  12. 'alternativas' => array(
  13. 'a' => 'Negro',
  14. 'b' => 'Blanco',
  15. 'c' => 'Depende que estemos fumando',
  16. 'd' => 'Ninguna de las anteriores'
  17. )
  18. ),
  19. 1 => array(
  20. 'id' => 2,
  21. 'tipo' => 'alternativa',
  22. 'puntaje' => 4,
  23. 'respuesta' => 'd',
  24. 'imagen' => 'http://www.eoi.es/blogs/sostenibilidad/files/2013/02/tren_ave.jpg',
  25. 'enunciado' => 'Un tren electrico viaja de sur a norte y el viento va de norte a sur ¿Hacia donde viaja el humo?',
  26. 'alternativas' => array(
  27. 'a' => 'Norte',
  28. 'b' => 'Sur',
  29. 'c' => 'Arriba',
  30. 'd' => 'No hay humo',
  31. 'e' => 'Abajo',
  32. 'f' => 'Ninguna de las anteriores'
  33. )
  34. ),
  35. 2 => array(
  36. 'id' => 3,
  37. 'tipo' => 'alternativa',
  38. 'puntaje' => 1,
  39. 'respuesta' => 'a',
  40. 'imagen' => 'http://globedia.com/imagenes/noticias/2012/4/2/cae-la-noche_1_1161624.jpg',
  41. 'enunciado' => 'Un niño camina por el bosque. Cae la noche y?',
  42. 'alternativas' => array(
  43. 'a' => 'Muere aplastado',
  44. 'b' => 'Llora',
  45. 'c' => 'Ninguna de las anteriores'
  46. )
  47. ),
  48. 3 => array(
  49. 'id' => 3,
  50. 'tipo' => 'completar',
  51. 'puntaje' => 1,
  52. 'imagen' => 'http://globedia.com/imagenes/noticias/2012/4/2/cae-la-noche_1_1161624.jpg',
  53. 'enunciado' => 'Melon y melame son musicos. {} toca el bombo y Melame la {}.',
  54. 'respuesta' => array(
  55. 0 => 'Melon',
  56. 1 => 'corneta'
  57. ),
  58. 'alternativas' => array(
  59. 'a' => 'Muere aplastado',
  60. 'b' => 'Llora',
  61. 'c' => 'Ninguna de las anteriores'
  62. )
  63. )
  64. )
  65. );
  66. foreach($prueba as $pru)
  67. {
  68.     echo $pru["titulo"]."<br/><br/>";
  69.  
  70.     foreach($pru["preguntas"] as $preg)
  71.     {
  72.         echo $preg["id"]." .".$preg["enunciado"]."<br/>";
  73.  
  74.         foreach($preg["alternativas"] as $key => $alt)
  75.         {
  76.             echo $key.").".$alt."<br/>";
  77.         }
  78.  
  79.  
  80.         echo "<hr/>";
  81.     }
  82. }
  #7 (permalink)  
Antiguo 09/05/2014, 11:36
 
Fecha de Ingreso: mayo-2014
Mensajes: 7
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Duda con Array en php

Gracias a todos por el aporte!!!

Etiquetas: 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 19:17.