如何检测第二次和第三次迭代
这是我的所作所为,但它没有给出正确答案
$sample_array = array('boom 1','boom 2','boom 3','boom 4','boom 5','boom 6','boom 7');
$separator2 = 0;
$separator3 = 0;
foreach($sample_array as $sample_array_value){
if(++$separator3 % 3 == 0)
{
echo $sample_array_value."<br /><br /> Separator 3 <br /><br />";
}
else if(++$separator2 % 2 == 0)
{
echo $sample_array_value."<br /><br /> Separator 2 <br /><br />";
}
else
{
echo $sample_array_value."<br />";
}
}
该代码的输出为:
boom 1
boom 2
Separator 2
boom 3
Separator 3
boom 4
boom 5
Separator 2
boom 6
Separator 3
boom 7
哪个错误,我需要输出为:
boom 1
boom 2
Separator 2
boom 3
Separator 3
boom 4
Separator 2
boom 5
boom 6
Separator 2
Separator 3
boom 7
答案 0 :(得分:3)
您不需要额外的变量,因为您的数组是基于0的索引,您只需使用该键即可。此外,您必须稍微更改一下逻辑,以便获得预期的输出,例如
foreach($sample_array as $key => $sample_array_value){
echo $sample_array_value . "<br />";
if(($key + 1) % 2 == 0 && ($key + 1) % 3 == 0)
echo "<br>Separator 2 <br />Separator 3<br /><br />";
elseif(($key + 1) % 2 == 0)
echo "<br>Separator 2 <br /><br />";
elseif(($key + 1) % 3 == 0)
echo "<br>Separator 3 <br /><br />";
}
输出:
boom 1
boom 2
Separator 2
boom 3
Separator 3
boom 4
Separator 2
boom 5
boom 6
Separator 2
Separator 3
boom 7
答案 1 :(得分:0)
你想要检查第二个和第三个是否实现繁荣。因为你还希望在动臂之后完成分离器,然后将其关闭。
$ sample_array =阵列('繁荣1','繁荣2','繁荣3','繁荣4','繁荣5','繁荣6','繁荣7');
$separator2 = 0;
$separator3 = 0;
$count = 1;
foreach($sample_array as $sample_array_value){
echo $sample_array_value."<br />";
if($count % 3 == 0)
{
echo "Separator 3 <br />";
}
if($count % 2 == 0)
{
echo "Separator 2 <br /><br />";
}
$count++;
}