PHP Foreach循环从循环内向前迈出了一步

Chr*_*ris 2 php foreach

基本上我在PHP中有一个foreach循环,我想:

foreach( $x as $y => $z )  
    // Do some stuff  
    // Get the next values of y,z in the loop  
    // Do some more stuff  
Run Code Online (Sandbox Code Playgroud)

Pek*_*ica 7

做一件事是不切实际的foreach.

对于非关联数组,请使用for:

for ($x = 0; $x < count($y); $x++)
 {
   echo $y[$x];  // The current element

   if (array_key_exists($x+1, $y))
    echo $y[$x+1]; // The next element

   if (array_key_exists($x+2, $y))
    echo $y[$x+2]; // The element after next

 }
Run Code Online (Sandbox Code Playgroud)

对于关联数组,它有点棘手.这应该工作:

$keys = array_keys($y); // Get all the keys of $y as an array

for ($x = 0; $x < count($keys); $x++)
 {
   echo $y[$keys[$x]];  // The current element

   if (array_key_exists($x+1, $keys))
    echo $y[$keys[$x+1]]; // The next element

   if (array_key_exists($x+2, $keys))
    echo $y[$keys[$x+2]]; // The element after next

 }
Run Code Online (Sandbox Code Playgroud)

访问下一个元素时,请确保它们存在!