1

我有一个应用程序,每个页面都包含一个头文件。由于我的应用程序的性质,这些页面没有组织到文件夹中,并且页面中包含的文件往往会中断。

所以我试图通过包含两个关于标题的数组来使用面包屑。一个带有页面名称,一个带有相应的 URL,如下所示:

$breadCrumbs=array("Department Managment", "Class Managment"); //The breadcrumb page names
$breadLinks=array("/department.php","/class.php"); //The breadcrumb URLs
require_once "../include/headers.php"; //Include header

我真正需要帮助的是 foreach 循环。这是我到目前为止所拥有的:

 <?php
foreach ($breadCrumbs as $bc){
        foreach ($breadLinks as $bl){
echo ("<li class='ELEMENT-crumb'><a href='" . $bl ."'>" . $bc . "</a></li>");}} ?>

但是,这会按此顺序返回四个面包屑:

部门管理 - /department.php

部门管理 - /class.php

班级管理 - /department.php

类管理 - /class.php

任何帮助将不胜感激,谢谢。

4

2 回答 2

1

实现此目的的一种方法是使用一个数组,该数组将描述用作键,将 URL 用作它们的关联值。那么你只需要一个循环:

// Array indexed by page name
$breadCrumbs=array(
  "Department Managment" => "/department.php",
  "Class Managment" => "/class.php"
);

// Loop over the array only once
foreach ($breadCrumbs as $page => $url) {
  // Using htmlspecialchars() in case it includes <,>,& etc...
  echo ("<li class='ELEMENT-crumb'><a href='" . $url ."'>" . htmlspecialchars($page) . "</a></li>");
}
于 2012-07-18T18:41:11.667 回答
0

为什么不做类似的事情:

$link1 = array("name" => "Department Management", "link" => "/department.php");
$link2 = array("name" => "Class Management", "link" => "/class.php");

$breadcrumbs = array($link1, $link2);

foreach($breadcrumb as $link) {
    echo '<li class="ELEMENT-crumb"><a href="' + $link["link"] + '">' + $link["name"] + '</a></li>';
}

没有测试过,但它应该可以工作。

于 2012-07-18T18:42:33.313 回答