PHP foreach循环上的空白行

时间:2018-08-13 19:08:20

标签: php foreach

我有一种方法可以查询所选表中的前5个项目,并将每一行添加到列表中。当我尝试从此方法创建有序列表时,它列出了10个项目而不是5个项目。每次迭代时,一条正确的行和一条空白的行。我已经尝试了类中的方法和类之外的函数,但是结果是相同的。

这是我的方法:

/**
* @return array
*/
public function top_list(): array {
    /* @var mysqli_result $result */
    $sql = "SELECT name FROM users ORDER BY performance DESC LIMIT 5";
    $result = self::$database->query($sql);
    if (!$result) {
        exit("Database query failed.");
    }
    $list = [];
    while ($record = $result->fetch_assoc()) {
        $list[] = $record;
    }
    $result->free();
    return $list;
}

这是我的订购清单:

$user = new User();
foreach ($user->top_list() as $item) {
    echo "<li>";
    echo $item["name"];
    echo "<li />";
}

Result of ordered list

print_r of $user->top_list()

1 个答案:

答案 0 :(得分:6)

echo "<li />";

应该是

echo "</li>";

您没有正确关闭列表标签,并且HTML渲染器正在尝试为其看到的每个<li />创建一个新的列表项。