2013-07-31 108 views
3

我使用foreach循環訪問數組。使用foreach循環中的下一個

在特定的情況下,我需要知道下一個元素的值,然後再進行迭代(如預測)元素。爲此,我計劃使用功能next()

在文檔中我只注意到next()向前推進內部數組指針。

next()的行爲與current()類似,但有一點不同。在返回元素 值之前,它將 內部數組指針前進一位。這意味着它返回下一個數組值,並將內部數組指針前進1。

如果這樣會影響我的foreach循環嗎?

回答

8

如果以這種方式來使用它

<?php 

$lists = range('a', 'f'); 

foreach($lists as &$value) { 
    $next = current($lists); 
    echo 'value: ' . $value . "\n" . 'next: ' . $next . "\n\n"; 
} 

輸出

價值它不會影響你的循環 :一個 未來:b

值:B 下:C

值:C 下:d

值:d 下:電子

值:電子 下:F

值:F 下一個:

+0

真棒找到。我希望它是穩定和前瞻性的。是的,它可以是有用的。 :-) –

+0

$ line = current($ lists);'$ next = next($ lists);'? – Warren

+0

不,不是的,你可以運行這段代碼到你的本地php環境並嘗試 – liyakat

0

試試這個代碼:

$a=$array(); 
foreach($a as $key=>$var) 
{ 
    if(isset($a[$key+1])) 
     echo $a[$key+1];//next element 
}