如何在每次foreach循环迭代中获取循环值



很抱歉,我不知道如何用三言两语解释清楚。

我正在处理一个php循环,我需要得到特定的css类名称和其他东西(如不同的svg元素)在每组4迭代。这就是我需要得到的:

  1. 迭代1 =类1
  2. 迭代2 =第2类
  3. 迭代3 =第3类
  4. 迭代4 =第4类
  5. 迭代5 =类1
  6. 迭代6 =类2
  7. 迭代7 =类3
  8. (等)

实际上我想张贴我的尝试得到这个,但这次我不知道从哪里开始(但可能我在一杯水中迷路了)。任何建议或提示都非常欢迎…

您可以使用模(%)运算符:

for ($i = 0; $i < 40; $i++) {
$id = ($i % 4) + 1;
$classname = "class{$id}";
echo "$classnamen";
}

当你有一个想要使用的(类)名数组时,那么:

$classnames = ["class 1", "class 2", "class 3", "class 4"];
$n = count($classnames);
for ($i = 0; $i < 40; $i++) {
$index = $i % $n;
$classname = $classnames[$index];
echo "$classnamen";
}

foreach循环中,它将是:数组索引%4 + 1,以获得重复的整数序列1,2,3,4
但是,如果您有一个classname数组,按照您希望它们重复的顺序,您可以这样做:

$classNames = ['won','too','tree','fower'];
$array = [1,2,3,4,5,6,7,8,9];
foreach( $array as $index => $value ){
$cssClass = $classNames[$index % count($classNames)];

echo $cssClass.",";
}

输出上图:

won,too,tree,fower,won,too,tree,fower,won,

任何时候你想改变这个序列,你只需要编辑$classNames数组,没有别的。

最新更新