【问题标题】:PHP Return HTML List From an Array of Url'sPHP 从 URL 的数组中返回 HTML 列表
【发布时间】:2019-03-15 16:52:16
【问题描述】:

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

"完成函数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;
}
?>

【问题讨论】:

  • 这是某种家庭作业吗?
  • 有点,这是一种技能评估

标签: php


【解决方案1】:

所以我会尽力帮助指导你……但不会给你答案。

要求返回值的问题...所以 echo 在这里 技术上 不正确。

您在函数中使用的变量没有意义,它们来自哪里?是什么设置了它们?

你的 foreach 行在正确的轨道上,但请记住任务所说的 breadcrumbs 是一个对象数组,因此你需要的值附加到 $anchorText 变量,该变量将是 1 个元素(一个对象)在你的$breadcrumbsARRAY 中

另外一个有效的无序列表具有这种结构

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

数组中的最后一项是当前页面,应该显示锚文本,但周围不应有锚标记

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

我也不确定你是否想要 $breadcrumbs 作为类变量...也许是 getBreadcrumbNavigation 的函数参数

【讨论】:

  • 非常感谢雷,我不是在这里寻找答案,只是指导。非常感谢您的帮助,因为我目前没有指导代码的导师。
  • 我省略了开头的指令:“参考下面的 PHP 类”
  • 对不起,我不知道如何格式化代码形式的评论:/
  • 好吧,那就忽略这部分“我也不确定你是否想要 $breadcrumbs 作为类变量...也许是 getBreadcrumbNavigation 的函数参数”
【解决方案2】:

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

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

    <?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();
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2018-07-14
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    相关资源
    最近更新 更多