/ / PHP loop foreach определят втора и трета итерация - php, масиви, foreach

PHP loop foreach определя втората и третата итерация - php, масиви, foreach

Как мога да открия втора и трета итерация

Ето какво направих, но не дава точен отговор

$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++;

}