4

这是我第一次来这里。我的 foreach 循环有问题,它只输出“联系我们”链接,没有其他链接。

我看不出我的语法有问题:

<?php
echo '<nav id="main_nav">';
    $links = array(
        '#' => 'Home',
        '#' => 'About Us',
        '#' => 'Our Services',
        '#' => 'Portfolio',
        '#' => 'Testimonials',
        '#' => 'Gallery',
        '#' => 'Contact Us'
    );
    foreach($links as $href => $label){
        echo '<a href="',$href,'">',$label,'</a>';
    }
    echo '</nav>';
?>
4

4 回答 4

3

那是因为您应该为数组中的元素指定不同的键。

var_dump($links);并查看您的数组由单个元素组成。

http://ideone.com/epstaT

于 2012-11-26T10:52:46.200 回答
2

那是因为你的数组中有相同的索引元素............

<?php
echo '<nav id="main_nav">';
$links = array(
    '0' => 'Home',
    '1' => 'About Us',
    '2' => 'Our Services',
    '3' => 'Portfolio',
    '4' => 'Testimonials',
    '5' => 'Gallery',
    '6' => 'Contact Us'
);
foreach($links as $href => $label){
    echo '<a href="',$href,'">',$label,'</a>';
}
echo '</nav>';

?>

答案是<nav id="main_nav"><a href="0">Home</a><a href="1">About Us</a><a href="2">Our Services</a><a href="3">Portfolio</a><a href="4">Testimonials</a><a href="5">Gallery</a><a href="6">Contact Us</a></nav>

于 2012-11-26T10:54:25.280 回答
1

因为您的数组键索引是相同的。这就是为什么它只打印 联系我们

print_r( $links );
于 2012-11-26T10:54:32.107 回答
0

更改为echo '<a href='#'>'.$label.'</a>';并更改键并手动添加#,对于字符串连接使用点

于 2012-11-26T10:53:01.113 回答