PHP从URL数组返回HTML列表

时间:2019-03-15 16:52:16

标签: php

我正在做一个测试项目,希望以一些代码审查的形式获得帮助……不是在寻找简单的答案!我的指示是:<​​/ p>

“完成函数getBreadcrumbNavigation(),以便它返回HTML代码字符串。假定 变量$ breadcrumbs包含一个网页对象数组,其成员变量具有有效值。 返回的HTML代码应为链接的有序列表。数组中的最后一个条目是当前页面 并且应显示锚文本,但周围不应带有锚标签。”

这就是我所拥有的,这是否可以实现目标?感谢您的帮助,我仍在学习。

<?php
class Template {
private $breadcrumbs;

public function getBreadcrumbNavigation() {

    foreach ($breadcrumbs as $anchorText) {
        if ($urlName != $myUrl) {
            echo("<li><a href=\"$urlName\">$anchorText</a></li>\n");
        } else {
            echo("<li>$url</li>\n");
        }
    }
}
}

class Webpage {
public $anchorText, $myUrl;
}
?>

2 个答案:

答案 0 :(得分:0)

所以我将尽力帮助您...但没有给您答案。

要求返回值的问题...因此,此处的回声在技术上不正确。

您在函数内部使用的变量没有意义,它们来自何处?是什么设置它们?

您的foreach行处在正确的轨道上,但请记住任务所说的 breadcrumbs是对象数组,因此所需的值将附加到$anchorText变量中,该变量将是$breadcrumbs

的数组中有1个元素(一个对象)

另外,有效的无序列表具有此结构

 <ul><li>STUFF</li><li>MORE STUFF</li></ul>

数组中的最后一个条目是当前页面,应显示锚文本,但周围不应带有锚标签

您的解决方案无法解决此问题。您将能够使用特定函数找出数组中的元素数,并修改foreach语句以获取索引和值,以找出当前正在迭代的元素。

我也不确定您是否希望$breadcrumbs作为类变量...可能是getBreadcrumbNavigation的函数参数

答案 1 :(得分:0)

实例化对象时,必须将$ breadcumbs的值作为参数传递给构造函数,并分配给私有变量以从类进行访问。

  

假设您的面包屑名称和url名称相同,例如:联系人   /联系/        笔记本电脑/笔记本电脑/

    <?php
class Template {
private $breadcrumbs;
public function __contruct($bd){
       $this->breadcrumbs = $bd;
}

public function getBreadcrumbNavigation() {

    foreach ($this->breadcrumbs as $anchorText) {

            echo "<li><a href='/" . $anchorText .'>" . $anchorText . "</a></li>";

    }
}
}
$breadcrumbs= 'Get your Breadcrumbs as an array' ;
$obj = new Template($breadcrumbs);
$obj->getBreadcrumbNavigation();
?>