我正在尝试编写一个执行两次计数的函数。更容易看到代码来理解我想要实现的目标:
$i = 1;
while ($jobs->have_posts()) : $jobs->the_post();
$i++;
$html_out .= '<tr class="row-'. $i .'">';
$html_out .= '<td class="column-'. $i++ .'"></td>';
$html_out .= '<td class="column-'. $i++ .'"></td>';
$html_out .= '<td class="column-'. $i++ .'"></td>';
$html_out .= '</tr>';
endwhile;
这里的代码不完整,但我希望这足以让我们了解这个想法。所以,我有一个<tr>
的课程row-1
。在那段时间里,我希望第一篇文章<tr>
开始row-2
并继续从那里开始增加。
在<tr>
内,我有<td>
个列列。我需要他们从column-1
开始并从那里开始增加,但是在新帖子上它会继续计数,所以第二个帖子的第一个<td>
将在column-4
输出,但我需要它重置回column-1
。
我希望这是有道理的。这是while
:
<tr class="row-2">
<td class="column-1"></td>
<td class="column-2"></td>
<td class="column-3"></td>
</tr>
<tr class="row-3">
<td class="column-1"></td>
<td class="column-2"></td>
<td class="column-3"></td>
</tr>
<tr class="row-4">
<td class="column-1"></td>
<td class="column-2"></td>
<td class="column-3"></td>
</tr>
答案 0 :(得分:1)
使用两个索引并在每次迭代时重置列索引:
$row = 2;
while ($jobs->have_posts()) : $jobs->the_post();
$col = 1;
$html_out .= '<tr class="row-'. $row .'">';
$html_out .= '<td class="column-'. $col++ .'"></td>';
$html_out .= '<td class="column-'. $col++ .'"></td>';
$html_out .= '<td class="column-'. $col++ .'"></td>';
$html_out .= '</tr>';
$row++;
endwhile;
答案 1 :(得分:1)
我会使用两个计数器,如下所示:
$row = 1;
while ($jobs->have_posts()) : $jobs->the_post();
$column = 1;
$html_out .= '<tr class="row-'. $row++ .'">';
$html_out .= '<td class="column-'. $column++ .'"></td>';
$html_out .= '<td class="column-'. $column++ .'"></td>';
$html_out .= '<td class="column-'. $column .'"></td>'; //this one will be reset to 1 in the next interation, no need to increment
$html_out .= '</tr>';
endwhile;