0

我有这样的设计:

-------------------------------------------
| | |
| 2 | |
| | |
------------ 1 |
| | |
| 3 | |
| | |
-------------------------------------------

但是程序员/设计师将<div>s 放置为:

<div id="2">2</div>
<div id="3">3</div>
<div id="1">1</div>

使用适当的 CSS,它们将作为视觉对象对齐。现在他正在制作一个循环来回显数据库中的数据。如果我不想更改 HTML 层次结构,循环的层次结构是:

<div id="2"><?php
  for( condition ) {
      execute News 2 here
  } ?></div>
<div id="3"><?php
  for( condition ) {
     execute News 3 here
  } ?></div>
<div id="2"><?php
  for( condition ) {
     execute News 1 here
  } ?></div>

真正的问题是:
随着$counter递增,第一个声明的值(零)是循环递增的,默认值是递增的。因此,在第一个循环中$counter=0, , 递增到 1;在第二个循环中$counter=1,递增到 2;所以在第三个循环中,$counter=2,递增到 3。但我们希望 $counter 分别递增 2、3、1。

所以真正的问题是:

  • 如何在不增加的情况下获取默认的 $counter 值,在一些之前的循环之后被声明?

我知道这是一个幼稚的问题。但我被困在这里。可以声明global吗?

4

1 回答 1

0

您可以将值(即 2,3,1;它们是值的任意顺序)存储到(全局)数组中,并将实际的“计数器”设置为数组中的值。

$values = array(2, 3, 1);
for ($i = 0; $i < x; $i++) {
    $div = $values[$i];
    do_something_with_div($div);
}
于 2013-04-24T11:54:13.307 回答