【问题标题】:Counter for each row in a case案例中每一行的计数器
【发布时间】:2017-12-23 06:43:04
【问题描述】:

我编写了这段代码,但我遇到了一个问题,即每一行都显示相同的值“1”。我会为行的定位或编号设置一个计数器

Position
1
2
3
4

这里是代码:我需要更改什么或我做错了什么?

case "18": 
                     $html.='<td class="product_tax_name product_list_content product_list_content_'.($j+1)
                .' product_list_col_'.($j+1).'">';

                for($i=1; $i<=1; $i=$i+1)
                        {
                   $html.= $i;
                   $i++;
                    }
                $html.='</td>';

                break; 


        }
        return $html;

【问题讨论】:

  • $j 是什么?是没有设置还是在您显示的代码之外?
  • 请提供完整代码并描述清楚...您的问题不清楚...
  • $j 仅用于对列进行编号。像 product_list_col_3'"。我想要的是,在该列中,代码为每一行生成一个计数器,从 1 开始,下一行是 2,接下来是 3
  • 请检查:
  • 所以看起来循环只在 i 小于或等于 1 时运行。所以一旦 i 大于 1,循环就会停止。

标签: php prestashop counter


【解决方案1】:

您必须将$j 增加为++$j

 ++$j;

 $html.='<td class="product_tax_name product_list_content product_list_content_'.$j.' product_list_col_'.$j.'">';

例如目的

$j = 0;

foreach(range(1,5) as $blah){
   echo (++$j)."\n"; //you can ignore the line return "\n"
}

查看示例here

输出:

1
2
3
4
5

-注意-为了在没有警告消息的情况下递增,您必须首先定义所以就像我在上面的示例中所做的那样。

另一种方法是:

$j += 1;

和说的一样

$j = $j+1;

您的问题的症结在于您没有分配任何东西,您只是将$j 的值加上1 并在不更改$j 的值的情况下输出它。我上面展示的是对变量进行赋值和修改的方法。

所以如果$j 等于4,你每次都会得到5。您要么将其设置为 0,要么没有定义它。

另外我们要应对这个烂摊子

for($i=1; $i<=1; $i=$i+1){
  $html.= $i;
  $i++;
}

这会循环一次,最后你会得到$i=3。也是不好的形式。

for($i=1; $i<=1; ++$i){
  $html.= $i;
}
//outputs 1

现在它仍然循环 1 时间,但你以 $i=2 结束

更新

如果上面的for循环就是你所说的意思

$html.= "把计数器放在这里(1,2,3,4,5)"

那么好吧,你只循环 1 次,所以你只会得到一个数字。试试这个,

for($i=1; $i<=10; ++$i){
  $html.= $i;
}
//outputs 12345678910 as there is no separator here.

甚至更好

$html .= implode(",", range(1,10));
 //Outputs: 1,2,3,4,5,6,7,8,10

所以把它们放在一起(字面意思)

  $html.= "put here the counter(".implode(",", range(1,4)).")";

至于“范围”是什么,它很重要。告诉我这是什么意思,我会告诉你的:

我会为行的定位或编号设置一个计数器

位置 1 2 3 4

【讨论】:

  • 嗨,我的意思是我的每一行都需要一个值,而不是 row.ss 中的 5 个值
  • 喜欢第 1 行值 1,第 2 行值 2,第 3 行值 3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
相关资源
最近更新 更多