如何使用两个数组在PHP中创建一个字符串

如何使用两个数组在PHP中创建一个字符串,php,arrays,web,iteration,navbar,Php,Arrays,Web,Iteration,Navbar,我这里有这个代码: <ul> <li<?php if ($page == 'home') echo ' class="active' ?>><a href="index.php">Home</a></li> <li<?php if ($page == 'contact') echo ' class="active' ?>><a href="pages/contact.php">Contac

我这里有这个代码:

<ul>
<li<?php if ($page == 'home') echo ' class="active' ?>><a href="index.php">Home</a></li>
<li<?php if ($page == 'contact') echo ' class="active' ?>><a href="pages/contact.php">Contact Us</a></li>
<li<?php if ($page == 'services') echo ' class="active' ?>><a href="pages/services.php">Services</a></li>
<li<?php if ($page == 'employees') echo ' class="active' ?>><a href="pages/employees.php">Employees</a></li>
<li<?php if ($page == 'dashboard') echo ' class="active' ?>><a href="pages/dashboard.php">Dashboard</a></li>
</ul>
    > >
    有几件事不太正确:

    • 这不是
      foreach
      的工作方式,
      $item
      将只是值。它没有设置为可以使用
      array\u键
      array\u值
      的数组。您需要
      foreach($url=>$label的页面)

    • 您在第一个
      回音中缺少
      ,它应该是

    • 您复制了很多。唯一需要有条件地输出的是'class=“active”部分

    foreach($url=>$label的页面){
    回声“”;
    }
    
    试试:

    foreach($item=>$val的页面){
    回音“”;
    }否则{
    回音'>';}
    }
    
    您有许多不需要的
    。如果您使用的是
    foreach
      <ul>
      <?php foreach ($pages as $key => $value): ?>
      <?php 
      $class = isset($_GET['page']) && $_GET['page'] === $key ? ' class="active"' : '';
      ?>
      <li<?=$class?>><a href="<?=$key?>"><?=$value?></a></li>
      <?php endforeach; ?>
      </ul>
      
    使用
    怎么样?
    foreach ($pages as $item=>$val) {
        echo '<li';
        if (isset($_GET['page']) && $_GET['page'] == $item) {
            echo ' class="active" ><a href="' . $item . '"> ' . $val . '</a></li>';
        } else {
            echo '><a href="' . $item . '"> ' . $val . '</a></li>';}
    }
    
    <ul>
    <?php foreach ($pages as $key => $value): ?>
    <?php 
    $class = isset($_GET['page']) && $_GET['page'] === $key ? ' class="active"' : '';
    ?>
    <li<?=$class?>><a href="<?=$key?>"><?=$value?></a></li>
    <?php endforeach; ?>
    </ul>