在2个地方使用foreach的php

时间:2015-09-04 08:13:37

标签: php arrays foreach

我试图通过将其包含在include("")中,使用此代码在两个地方获得相同的结果;但是在第一个包含正确后,第二个包含了我生成的数组的最后一个元素,数组就是这个:

<?php
$aMenu = array(
    array( 
        "title" => "Home",
        "page" => "home",
    ),
    array(
        "title" => "Over mijzelf",
        "page" => "mijzelf",
    ),
    array(
        "title" => "PC Games",
        "page" => "games",
    ),
    array(
        "title" => "Video's maken",
        "page" => "videos",
    ),
    array(
        "title" => "Basketball",
        "page" => "basketball",
    ),
    array(
        "title" => "Fitness",
        "page" => "fitness"
    ),
    array(
        "title" => "Toekomst",
        "page" => "toekomst"
    ),
);

我在这里叫它

foreach($aMenu as $aMenu) {
    $sClass =  '';
    if ($aMenu["page"] == $_GET['page']) {
        $sClass = 'class = "active" ';
    }

    /*echo $aMenu["title"];
    echo $aMenu["page"];*/

    echo '
        <ul  class=" nav nav-pills nav-stacked">
        <li class="'.$sClass.'" role="presentation"  ><a href="index.php?page='.$aMenu["page"].'">'.$aMenu["title"].'</a></li>
        </ul>'; 
}

1 个答案:

答案 0 :(得分:3)

在迭代时覆盖数组:

foreach($aMenu as $aMenu)

写下这样的东西

foreach($aMenu as $entry)

所以你的迭代变量不会覆盖数组本身。