Как увеличить значение на 1 для каждых 50 раз выполнения цикла foreach - PullRequest
0 голосов
/ 04 февраля 2019

Как я могу увеличивать значение в цикле foreach для каждых 50 раз выполнения цикла.

<?php

$counter = 1; 
foreach ($numbers as $num) {
      //For the first 50 times the loop runs, $counter = 1. For every 50 runs, increment by 1
$counter = 1;

//if loop has run more than 50 times, increment $counter to 2 


}
?>

Ответы [ 4 ]

0 голосов
/ 04 февраля 2019
        <?php 
    $counter = 0;
    $value = 50; // Intial position
    $numbers = 230 // Lets say you have total 230 iterations.
    for ($i = 0 ; $i <= $numbers ; i++)
    {
     if($i == $value) // if 50 counter is increased and we are setting the value to 100
{
$counter += 1;
$value = $value * 2;
}
}
0 голосов
/ 04 февраля 2019

Я не собираюсь давать полный ответ, потому что я не хочу поощрять подобные вопросы.Однако, если вы действительно застряли, просто идея для вас, вам понадобятся две переменные, одна будет увеличиваться при каждом цикле времени, а другая будет проверять первую переменную и будет увеличиваться только тогда, когда первая переменная делится на 50.

0 голосов
/ 04 февраля 2019
$counter = 1;
$loop_ctr = 0;
$increment_by = 1;
foreach($numbers as $num)
{
    $counter+=$increment_by;
    $loop_ctr++;        
    if($loop_ctr == 50)
    {
        $increment_by = 2;
    }
}
0 голосов
/ 04 февраля 2019

Вы можете использовать другой счетчик, чтобы проверить, когда вы сделали 50 итераций

<?php

$counter = 1;
$MiniCounter = 0;
foreach ($numbers as $num)
{
    // Pre-increment since $MiniCounter starts by 0
    if (++$MiniCounter >= 50) // using >= 50 because, who knows, $MiniCounter may jump magically from 49 to 51
    {
        $MiniCounter = 0; //reset the mini counter
        $counter++;
    }
}
?>
...