Как мога да открия втора и трета итерация
Ето какво направих, но не дава точен отговор
$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
Отговори:
3 за отговор № 1Вие не се нуждаете от допълнителни променливи, тъй като вашият масив е индексиран на база 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
0 за отговор № 2
Вие трябва да проверите за 2-ро и 3-то извън извън това, което изпълнява бум, тъй като искате също така разделителя да бъде направен след бум, след това да го свалите.
$ 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++;
}