【问题标题】:Displaying text via foreach loop php通过 foreach 循环 php 显示文本
【发布时间】:2013-10-20 09:46:02
【问题描述】:

我正在尝试为网站制作导航栏。我必须使用 foreach 循环来显示不同的页面。但是,每当我尝试显示它们时,它们都不会链接页面并且它们显示错误的文本。这是代码:

<?php
//Main Navigation Function
function main_nav(){
$nav_sections = array("home"=>"","products"=>"products/","services"=>"services/",
                     "about"=>"about/", "contact"=>"contact/");
$output = "<UL>";
$i=0;

foreach($nav_sections as $nav){
    $output .= "<LI><A href=" . URL_ROOT . $nav . "></A>" . $nav . "</LI>";


}
 echo $output;
}
?>

URL_ROOT 是一个定义的常量,它给出了根 URL,但它不是通过文本链接页面。这是网站当前显示的内容:http://tomcat.cit.iupui.edu/gaddough/cit21500/assignment4/

【问题讨论】:

  • a 标签为空...

标签: php text foreach hyperlink


【解决方案1】:

您已经(正确地)将数组设置为键值对,这意味着您必须像这样循环遍历它:

foreach($nav_sections as $title => $link) {
    $output .= "<li><a href=" . URL_ROOT . $link . ">" . ucfirst($title) . "</a></li>" . PHP_EOL;
}

ucfirst() 将单词或句子的首字母大写。

此外,在您当前的循环中,您打开和关闭锚点(链接)而不为其分配任何文本(即 &lt;a href...&gt;&lt;/a&gt; 之间没有任何内容。

最后一点:您需要在&lt;ul&gt;&lt;ol&gt; 标签之间回显$output,而您的计数器$i 在这个特定的sn-p 中是多余的。

【讨论】:

  • 谢谢! $i 变量就在我那里,试图弄清楚它,哈哈。我让那部分工作正常。现在,当我单击链接转到特定页面时,它给了我一个错误:警告:需要(config.php):无法打开流:/home/gaddough/cit21500/assignment4/products/index 中没有这样的文件或目录第 4 行的 .php 警告:require(config.php):无法打开流:第 4 行的 /home/gaddough/cit21500/assignment4/products/index.php 中没有这样的文件或目录
  • 它似乎在 config.php 文件的子文件夹中查找,该文件位于我的主根文件夹中。知道如何解决吗? code:
  • 嗯,它确实有点取决于您包含此 config.php 的方式和位置;最直接的方式是简单地改变包含路径,例如从 require('config.php') 到 require('../config.php'),但是根据您的项目结构,这很容易变得有点难以维护。 “更好”的方法可能是让一个页面处理包含此配置和您的子页面,例如index.php 有一个菜单和一个包含“pages/some_page.php”的开关($page)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 2018-06-20
相关资源
最近更新 更多