Cela devrait être très basique, mais je suis un peu perplexe!foreach() gestion des erreurs - comment le faire ne rien faire?
Voici mon tableau:
$menu = array(
'Home',
'Stuff'=>array(
'Losta Stuff',
'Less Stuff',
'Ur moms stuff',
'FAQ'
),
'Public Works'
);
Voici ma logique:
echo "<ol>\n";
foreach((array)$menu as $header)
{
echo ' <li><b>'.$header."</b><br />\n";
echo ' <ol>';
foreach((array)$header as $headers)
{
echo ' <li>'.$headers.".</li>\n";
}
echo ' </ol>';
}
echo "</ol>\n";
Comme vous pouvez le voir, Maison et Travaux publics ne disposent pas de données dans le leur, donc j'obtenir un
Warning: Invalid argument supplied for foreach() in test.php on line ##
Si j'ajoute (array)
à $header
comme ceci: foreach((array)$header as $headers)
, Il ne g me donne l'erreur, mais il affiche simplement le $header
comme $headers
(c.-à-d. Accueil - Maison, au lieu de la maison - rien).
Fondamentalement, si les données sont vides, je veux qu'il ne fasse rien!
dont echo html !!! – Galen
Je suppose que vous avez lu ceci: http://php.net/manual/fr/control-structures.foreach.php? Et avez-vous essayé de tester l'entrée avant d'appeler foreach()? –
Pourquoi ne devriez-vous pas faire écho html? – Jared