PHP循环不能一致地写文本

时间:2013-02-01 18:53:27

标签: php html loops

这是我的代码段:

   foreach ($row as $key => $val) {

        echo "<div class='jmp'><b>". htmlentities($key).": </b><br>"
        .htmlentities($val)."</div>\n";
    }

奇怪的是,PHP有时输出如下:

<div class='jmp'><b>HDD_SIZE_GB:</b><br> 143.5</div>
<div class='jmp'><b>HDD_MODEL:b><br> SEAGATE STT14775 </div>
<div class='jmp'><b>HDD_SN:</b><br> 3LN3N0098271QL2</div>

注意结尾&lt;中间的“b”元素缺少?是什么造成的? DB中有500条记录。更令人费解的是,它并不一致。当我刷新页面时,该特定行中的错误将消失,但相同的错误将在其他行中弹出。这完全违背了严格的XHTML解析。

2 个答案:

答案 0 :(得分:1)

我的评论作为答案:

你确定这是原始输出(在命令行或lynx上试试)?有时浏览器会改变代码......

答案 1 :(得分:-3)

您的阵列是如何创建的。 这样它应该按预期工作

$row = array();
$row['HDD_SIZE_GB'] = '143.5';
$row['HDD_MODEL'] = 'SEAGATE STT14775';
$row['HDD_SN'] = '3LN3N0098271QL2';