Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过foreach循环php显示文本_Php_Text_Foreach_Hyperlink - Fatal编程技术网

通过foreach循环php显示文本

通过foreach循环php显示文本,php,text,foreach,hyperlink,Php,Text,Foreach,Hyperlink,我正在尝试为一个网站制作导航栏。我必须使用foreach循环来显示不同的页面。但是,每当我试图显示它们时,它们都不会链接页面,并且显示错误的文本。。代码如下: <?php //Main Navigation Function function main_nav(){ $nav_sections = array("home"=>"","products"=>"products/","services"=>"services/", "

我正在尝试为一个网站制作导航栏。我必须使用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\u ROOT是一个定义的常量,它给出根URL,但它不是通过文本链接页面。这是该站点当前显示的内容:

您已经(正确地)将数组设置为键值对,这意味着您将不得不在其中循环:

foreach($nav_sections as $title => $link) {
    $output .= "<li><a href=" . URL_ROOT . $link . ">" . ucfirst($title) . "</a></li>" . PHP_EOL;
}
foreach($title=>link的导航部分){
$output.=“
  • ”。PHP\u EOL; }
    ucfirst()
    使单词或句子的第一个字母大写

    此外,在当前循环中,您打开和关闭锚点(链接),而不向其分配任何文本(即,
    之间没有任何内容)


    最后一点:您需要在
      标记之间回显
      $output
      ,而您的计数器
      $i
      在这个特定的代码段中是多余的。

      a
      标记是空的……谢谢!$i变量就在那里,我正忙着想弄清楚它,哈哈。我让那部分工作起来了现在,当我点击链接进入特定页面时,它给了我一个错误:警告:require(config.php):无法打开stream:No-this文件或目录,在第4行/home/gadrough/cit21500/assignment4/products/index.php中警告:require(config.php):无法打开stream:第4行的/home/gadrough/cit21500/assignment4/products/index.php中没有这样的文件或目录它似乎在子文件夹中查找config.php文件,它在我的主根文件夹中。知道如何修复吗?代码:好的,这确实取决于如何以及在何处包含这个config.php;最重要的是前向方式是简单地更改包含路径,例如从require('config.php')更改为require('../config.php'),但根据您的项目结构,这很容易变得有点不可维护。“更好”方法可能是让一个页面处理此配置和子页面的包含,例如index.php有一个菜单和一个开关($page),其中包括“pages/some_page.php”。