PHP foreach循环在IE8中添加了结束</ ul>

use*_*331 0 html php internet-explorer

我有一个foreach像这样的循环:

<ul>
    <?php

        foreach ($pages['results'] as $row => $value) {
            echo '<li>' . $row . '<ul>';
            foreach ($value as $x => $y) {
                echo '<li><a href="#' . str_replace(" ", "", strtolower($y[2])) . '" title="' . $x . '">' . $x  . '</a></li>';
            }
            echo '</li></ul>';
        }
    ?>
</ul>
Run Code Online (Sandbox Code Playgroud)

而且,这在Chrome,Firefox,Safari,IE 9中运行良好,但在IE 8中运行不正常.

该CSS是正确的,但最后</ul>外界foreach关闭的第一行之后foreach.我希望这是有道理的,为什么IE 8会这样做?

这是吐出的HTML:

新的家庭社区

  • 安卡斯特
    • 安卡斯特格伦
  • Beamsville
    • 发现
  • Binbrook
    • 展览会结局
    • 帕克赛德村
  • 科林伍德
    • Summit Shores
  • 汉密尔顿
    • 格林希尔格伦
    • 在谷公园的派拉蒙
    • 谢尔曼奥克斯
  • 基奇纳
    • Doon Creek
    • Victoria Common
  • Stoney Creek
    • 果园公园

Nal*_*uri 6

替换最后的回声,你需要关闭ul然后关闭li

echo '</ul></li>';
Run Code Online (Sandbox Code Playgroud)