循环内的函数

时间:2013-02-12 09:45:12

标签: php html loops

我有一个用于表行和表数据的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>';
  }

2 个答案:

答案 0 :(得分:0)

老实说,我的代码并不多,但根据你所描述的问题,我想问题就在于此。

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

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

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

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

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

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

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

答案 1 :(得分:0)

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

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

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

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