En este ejemplo podemos ver como anidando varios foreach podremos recorrer un array asociativo tridimensional, de forma sencilla.
<?php
$niveles
=
array
(
'Primaria'
=>
array
(
'1º'
,
'2º'
,
'3º'
,
'4º'
,
'5º'
,
'6º'
),
'Secundaria'
=>
array
(
'Primer Ciclo'
=>
array
(
'1º Eso'
,
'2º Eso'
),
'Segundo Ciclo'
=>
array
(
'3º Eso'
,
'4º Eso'
)),
'Fp'
=>
array
(
'Grado Medio'
=>
array
(
'Artes gráficas'
=>
array
(
'Impresión'
,
'Post impresión y acabados gráficos'
),
'Comercio y Marqueting'
=>
array
(
'Actividades comerciales'
),
'Imagen y sonido'
=>
array
(
'Vídeo Disc-Jockey y Sonido'
),
'Informática y Comunicaciones'
=>
array
(
'Sistemas Microinformáticos y Redes'
)),
'Grado Superior'
=>
array
(
'Edificación Obra Civil'
=>
array
(
'Diseño y Amueblamiento'
),
'Electricidad Electrónica'
=>
array
(
'Eficiencia Energética y Energ. Solar Térmica'
),
'Hostelería Turismo'
=>
array
(
'Dirección de Servicios de Restauración'
),
'Informatica y Comunicaciones'
=>
array
(
'Desarrollo de Aplicaciones Multiplataforma'
,
'Desarrollo de Aplicaciones Web'
)))
);
foreach
(
$niveles
as
$nivel
=>
$nombre
){
echo
"<h1><i>$nivel</i></h1>"
;
foreach
(
$nombre
as
$indice
=>
$valor
){
if
(
is_array
(
$valor
)){
echo
"<h3>"
.
$indice
.
":</h3>"
;
foreach
(
$valor
as
$i
=>
$v
){
if
(
is_array
(
$v
)){
echo
"<b>- "
.
$i
.
$v
.
"</b><br/>"
;
foreach
(
$v
as
$ig
=>
$vg
){
echo
"*** "
.
$vg
.
"<br/>"
;
}
}
else
{
echo
"<p>"
.
$v
.
"</p>"
;}
}
}
else
{
echo
"<h3>* "
.(
$indice
+1).
' / '
.
$valor
.
"</h3>"
;}
}
}
No hay comentarios:
Publicar un comentario
Gracias por vuestros aportes.