我正在研究php,现在我正在努力跟随:我有一个包含其他数组的数组:
$leftMenu = array(
array('link'=>'Домой', 'href'=>'index.php'),
array('link'=>'О нас', 'href'=>'about.php'),
array('link'=>'Контакты', 'href'=>'contact.php'),
array('link'=>'Таблицы умножения', 'href'=>'table.php'),
array('link'=>'Калькулятор', 'href'=>'calc.php')
);
我需要做的是使用foreach绘制带有html和此数组的超链接的菜单。这就是我试图做的事情:
foreach ($leftMenu as $key=>$value){
foreach ($value as $html=>$link){
echo "<a href=$html>$link </a>\n";
}
}
显然它不起作用,因为我在变量$ link中得到了无效值。我想要的是,只传递给该变量的链接,而不是文本。怎么实现呢?
答案 0 :(得分:9)
您不需要在数组中循环两次,但需要一次
foreach ($leftMenu as $value){
echo '<a href="'.$value['href'].'">'.$value['link'].'</a>'."\n";
}
答案 1 :(得分:1)
foreach ($leftMenu as $key=>$value){
foreach ($value as $html=>$link){
if ($html != 'link') {
echo "<a href='{$html}'>{$link}</a>\n";
}
}
}
这应该有用。
答案 2 :(得分:1)
试试这样:
foreach ($leftMenu as $a){
$link = $a["link"];
$href = $a["href"];
echo "<a href=\"$href\">$link </a>\n";
}