使用foreach访问数组元素

时间:2014-02-24 12:24:57

标签: php arrays

我正在研究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中得到了无效值。我想要的是,只传递给该变量的链接,而不是文本。怎么实现呢?

3 个答案:

答案 0 :(得分:9)

您不需要在数组中循环两次,但需要一次

foreach ($leftMenu as $value){
    echo '<a href="'.$value['href'].'">'.$value['link'].'</a>'."\n";   
}

Live working sample here

答案 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";

}

演示:https://eval.in/105138