【发布时间】:2018-11-13 01:38:39
【问题描述】:
为了将图标集成到导航栏中,我使用 key=>value 数组来存储带有图标标签的文件名。在导航栏中,我使用 foreach 循环来构建下拉菜单或索引到单个导航链接的数组中。这也允许非常轻松地动态构建和更改下拉菜单。
$homepage = array(
'index.php'=>'<i class="fa fa-home"></i>'
);
$guestpages = array(
'createaccount.php'=>'<i class="fa fa-university"></i>',
'login.php'=>'<i class="fa fa-sign-in"></i>'
);
$logout = array(
'logout.php'=>'<i class="fa fa-sign-out"></i>'
);
$pages = array($homepage,$guestpages,$logout);
我还解析 URL 以确定客户端正在查看的页面。
$pagename = basename($_SERVER['PHP_SELF']);
为了将解析后的 URL 与 $pages 数组中的相应图标标签相关联,我目前使用嵌套的 foreach 循环:
foreach ($pages as $pagearray) {
foreach ($pagearray as $page => $icon) {
if($pagename == $page) {
$pageicon = $icon;
}
}
}
而我想做的是这样的:
$pageicon = $pages[?][$pagename];
是否存在类似的替代解决方案?
【问题讨论】:
-
为什么是三个独立的数组?如果你只有
$pages = ['index.php' => ...],你可以简单地做$pages[basename($_SERVER['PHP_SELF'])]…