如何使用两个数组在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>