2012-07-18 51 views
1

我有一個應用程序在每個頁面中都包含一個頭文件。頁面沒有按照我的應用程序的性質組織到文件夾中,因爲包含在頁面內的文件往往會打破。使用「foreach」的PHP中的Breadcrubs

所以我想通過有兩個關於頭的數組包括使用麪包屑。一個與頁面的名稱和一個與相應的網址,像這樣:

$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

任何幫助,將不勝感激,謝謝。

回答

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>"); 
} 
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>'; 
} 

沒有測試它,但它應該工作。