-2

我有一个用于表行和表数据的 for 循环。我只想在每个表数据上添加类名,但当然它们不会是相同的类名。

但问题是函数的输出被放置在表格之外。我已经检查了报价或其他东西,但它仍然放在外面。任何人都可以向我解释为什么?

function alphaCount(){
  for ($i=65; $i<=90; $i++) {
    echo char($i);
  }
  for($i=1;$i<=10;$i++) {
    echo '<td  class="char-'.$i.'-'.$this->alphaCount.'"> </td>';
  }
4

2 回答 2

0

老实说,我没有得到太多你的代码,但根据你描述的问题,我猜问题如下。

您有一个生成一些标识符的函数,但它会回显它而不是返回它,如下所示:

function getId() {
  // something
  echo $id;
}

当您生成条目时,您将拥有以下代码:

echo "<tr class='" . getId() . "'>...</tr>";

就像该getId()方法在<tr>呈现标签之前回显标识符一样。您可以通过将 echo 语句更改getId为 return 语句来解决它,或者您可以通过以下方式重写条目生成器:

echo "<tr class='"
getId();
echo "'>...</tr>";

我希望这是你遇到的问题。

于 2013-02-12T09:52:57.857 回答
0

如果您查看生成的 HTML 源代码(来自浏览器中的“查看源代码”),您会发现它是无效的:

abcdefg...
<td class="char-1-?"> </td>
<td class="char-2-?"> </td>
...

您在第一个循环中输出的内容在任何表格单元格之外。浏览器将处理它,就好像它完全在表格之外一样。

编辑:也可能是您在问题中搞砸了括号,而您的真实代码做了一些完全不同的事情。很难从原始格式中分辨出来。

于 2013-02-12T09:53:13.800 回答