簡體   English   中英

我的foreach只找到數組的最后一個元素

[英]My foreach only finds the last element of the array

這是我第一次來。 我的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>';
?>

那是因為您應該為數組中的元素指定不同的鍵。

var_dump($links); 並看到您的數組由單個元素組成。

http://ideone.com/epstaT

那是因為數組中的索引元素相同........

<?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>

因為您的數組鍵索引是相同的。 這就是為什么只打印聯系我們的原因

print_r( $links );

更改為echo '<a href='#'>'.$label.'</a>'; 並更改鍵並手動添加#,對於字符串連接,請使用點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM