Php 箱子中每行的计数器

Php 箱子中每行的计数器,php,prestashop,counter,Php,Prestashop,Counter,我编写了这个代码,但我有一个问题,在每一行显示相同的值“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_

我编写了这个代码,但我有一个问题,在每一行显示相同的值“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;
案例“18”:
$html.='';

对于($i=1;$i您必须使用
+$j
增加
+$j

 ++$j;

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

产出:

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++;
}
现在它仍然循环
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.
所以,把这一切放在一起(字面上)

至于“范围”是什么,它有什么意义。好吧,告诉我这意味着什么,我会让你知道:

我想要一个计数器来记录这一排的位置或编号

Position
1
2
3
4
位置1234


什么是$j?它是未设置的还是超出了您显示的代码范围?请提供完整的代码并清楚地描述…您的问题不清楚…$j仅用于对列进行编号。如产品列表\u col\u 3'"。我想要的是,在该列中,代码为每一行生成一个计数器,从1开始,下一行是2,下一行是3请检查:这样看起来循环只在i小于或等于1时运行。因此,一旦i大于1,循环停止。嗨,我的意思是每行需要一个值,而不是行中的5个值。类似于第1行值1,第2行值2,第3行值3
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)).")";