Norman
Norman

Reputation: 6365

foreach step 5 steps forward in an array

How can I step forward 5 steps when using foreach to output an arrays value? So In this the put will be 1, 5

$array = ("1","2","3","4","5","6","7","8","9");
foreach ($array as &$value) {
    echo $value; //Where do I tell it to move 5 paces forward?
    echo "<br/ >";
}

If a foreach loop cannot be used, I'm willing to use something else. I don't think "while" or "for" can be used here?

Upvotes: 0

Views: 3068

Answers (3)

air4x
air4x

Reputation: 5683

If it is not numerically indexed

$count = -1;
foreach ($array as &$value) {
  $count++;
  if ($count%4 != 0) continue;
  echo "$value".PHP_EOL;
}

Upvotes: 0

keyboardSmasher
keyboardSmasher

Reputation: 2811

$array = array("1","2","3","4","5","6","7","8","9");
for($i=0; $i<count($array); $i+=5) {
    echo $array[$i];
    echo "<br/ >";
}

Upvotes: 2

octern
octern

Reputation: 4868

I would use a while loop. Just set an index outside of the loop, and add 5 to it on each iteration of the loop. When the index is larger than the length of the list, terminate the loop.

A more compact way to express these instructions is a for loop:

for ($i=0; $i<count($array); $i = $i+5) 

Upvotes: 1

Related Questions