Tengo el siguiente warning:
Warning: Invalid argument supplied for foreach() in [ruta-del-archivo] on line 32
El código es el siguiente:
Código PHP:
[HIGHLIGHT="PHP"]
<?php
$nav = array("Manualidades básicas", "Fofuchas", "Literatura", "Especiales"); // Menú principal
// Acceso a las secciones:
$dir_basicas = "manualidades-basicas/";
$dir_fofuchas = "fofuchas/";
$dir_literatura = "literatura/";
$dir_especiales = "especiales/";
// Acceso a las subsecciones:
$sub_basicas = array($dir_basicas."mandalas.php", $dir_basicas."marcapaginas.php", $dir_basicas."posavasos.php", $dir_basicas."pulseras-de-gomitas.php"); // Sub-menú del menú de Manualidades Básicas
$sub_fofuchas = array($dir_fofuchas."que-son-las-fofuchas.php", $dir_fofuchas."galeria-de-fofuchas.php", $dir_fofuchas."fofucha-personalizada.php"); // Sub-menú del menú de Fofuchas
$sub_literatura = array($dir_literatura."narrativa.php", $dir_literatura."relatos.php", $dir_literatura."poesias.php"); // Sub-menú de Literatura
$sub_especiales = array($dir_especiales."organitas.php", $dir_especiales."cuadros-con-mandalas.php", $dir_especiales."cuadros-personalizados.php"); // Sub-menú de Especiales
function submenu ($elemento) {
global $sub_basicas, $sub_fofuchas, $sub_literatura, $sub_especiales;
$sub;
switch($elemento) {
case "Manualidades básicas":
$sub = $sub_basicas;
break;
case "Fofuchas":
$sub = $sub_fofuchas;
break;
case "Literatura":
$sub = $sub_literatura;
break;
default:
$sub = $sub_especiales;
break;
};
foreach ($elemento as $e) {
echo "<li>$e
<ul>";
foreach ($sub as $nombre => $dir) {
echo "<li><a href=\"$dir\">$nombre</a></li>
</ul>
</li>";
}
}
}
foreach ($nav as $emp) { // $emp = elemento de menu principal
submenu($emp);
}
?>
[/HIGHLIGHT]
En fin, ¿en qué consiste ese error? Y, sobre todo, ¿cómo puedo solucionarlo?
¡Gracias por adelantado!