1

各ページにヘッダーファイルが含まれているアプリケーションがあります。私のアプリの性質上、またページ内に含まれるファイルが壊れやすいため、ページはフォルダーに整理されていません。

そのため、ヘッダーインクルードに関する2つの配列を使用して、ブレッドクラムを使用しようとしています。1つはページ名を持ち、もう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>");}} ?>

ただし、これは次の順序で4つのブレッドクラムを返します。

部門管理-/department.php

部門管理-/class.php

クラス管理-/department.php

クラス管理-/class.php

助けていただければ幸いです、ありがとう。

4

2 に答える 2

1

これを実現する 1 つの方法は、説明をキーとして使用し、URL を関連する値として使用する1 つの配列を使用することです。次に、必要なループは 1 つだけです。

// 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 に答える