对于我的网站,我需要创建一个带有数组的菜单,并使用foreach循环将其打印出来。
这是我已经拥有的数组:
$aMenu = array(
'Home' => 'index.php',
'Over mij' => 'overmij.php',
'Contact' => 'contact.php'
');
所以我需要在foreach循环中打印这个数组,这是我需要打印的内容:
<li><a href="index.php" title="menuitems" class="current">Home</a></li>
<li><a href="overmij.php" title="menuitems" >Over mij</a></li
<li><a href="contact.php" title="menuitems" >Contact</a></li>
我还得上课#&#39;当前&#39;在我目前所在的页面上。
我还没有使用foreach循环,我无法在互联网上找到它。谢谢你的时间。
答案 0 :(得分:0)
您可以打印这样的菜单:
<?php
$aMenu = array(
'Home' => 'index.php',
'Over mij' => 'overmij.php',
'Contact' => 'contact.php'
);
$list = "<ul>";
foreach($aMenu as $key=>$menu) {
$class = '';
if($current_page == $key) { $class = 'active'; }
$list = $list.'<li><a href="'.$menu.'" class="'.$class.'" title="menuitems" >'.$key.'</a></li>';
}
$list .= "</ul>";
echo $list;
?>
答案 1 :(得分:0)
$aMenu = array(
'Home' => 'index.php',
'Over mij' => 'overmij.php',
'Contact' => 'contact.php'
);
<?php if(isset($aMenu)):?>
<ul class="menu">
<?php foreach($aMenu as $name => $page):?>
<li><a href="<?php echo $page;?>" title="<?php echo $name;?>"><?php echo $name;?></a></li>
<?php endforeach;?>
</ul>
<?php endif; ?>
'当前选择'功能是通过Javascript实现的。
答案 2 :(得分:0)
您可以查找当前请求的脚本文件
basename($_SERVER['SCRIPT_FILENAME'])
此代码段正在查找服务器请求的脚本名称,例如(粗体)
http://example.com/的的index.php 强>
并使用您定义的数组值
进行验证if (basename($_SERVER['SCRIPT_FILENAME') == $filename) {
//add class
$current = 'current';
}
最后使用三元运算符缩短
foreach ( $aMenu as $menu => $filename ) {
$current = (basename($_SERVER['SCRIPT_FILENAME']) == $filename) ? 'current' : '';
echo '<li><a href="'.$filename.'" title="menuitems" class="'.$current.'">'.$menu.'</a></li>';
}
答案 3 :(得分:0)
您可以使用foreach
和if
来获得所需的输出。
<?php
$aMenu = array(
'Home' => 'index.php',
'Over mij' => 'overmij.php',
'Contact' => 'contact.php'
);?>
<ul>
<?php
foreach($aMenu as $key => $val){
$active = ($page == $key) ? 'current' : '';
?>
<li><a href="<?php echo $key?>" title="menuitems" class="<?php echo $active;?>"><?php echo $val;?></a></li>
}
?>
</ul>
在index.php
页面中,您需要使用$page = 'index.php'
,依此类推......
注意:您需要在每个页面中设置
$page
,例如页面名称。有很多方法可以做到这一点。这只是一个。
答案 4 :(得分:0)
我可能会迟到,但请尝试以下代码
您可以将$current_page
更改为该值,它将设置为当前值:
<?php
$aMenu = array(
'Home' => 'index.php',
'Over mij' => 'overmij.php',
'Contact' => 'contact.php'
);
$current_page = 'overmij.php';
?>
<li>
<?php foreach ($aMenu as $key => $value) : ?>
<a href="<?php echo $value; ?>" title="menuitems" <?php if($current_page == $value){echo "class='current'";}?>><?php echo $key;?></a>
<?php endforeach;?>
</li>