2012-10-01 28 views

回答

2

可以使用array_slice

$array = array(1,2,3); 
foreach (array_slice($array,1) as $value) { 
    echo $value; 
} 

如果你不介意失去第一個元素,你可以使用array_shift

array_shift($array); 
foreach ($array as $value) { 
    echo $value; 
} 

輸出

23 
+0

在訪問第一個數組元素後,我結束了使用array_shift。謝謝! – GiantDuck

+0

不客氣.... @GiantDuck – Baba

1
$i = 0; 
foreach ($ar as $value) { 
    if ($i > 0) { 
     // code here 
    } 
    $i++; 
} 
+2

你甚至可以把if語句中$ i之後的「++」並保存一整行代碼:) – tmsimont

+0

'foreach($ ar as $ i => $ value){'但的確,OP沒有說他有0 ..N索引數組 – zerkms

1

你可以把一個變量是:

$firstSkipped = false; 
foreach ($arr as $value) { 
    if (!$firstSkipped) { 
     $firstSkipped = true; 
     continue; 
    } 
    // code here 
} 

或者你可以只使用普通for循環,開始計數器設置爲1:

for ($i = 1, $count = count($arr); $i < $count; $i++) { 
    // code here 
} 
+0

繼續是更好的,因爲你不必嵌套你的工作代碼。與循環的下一次迭代相比,縮進所有工作代碼更好,因爲它沒有被跳過。 – SrJoven

0

您可以使用array_shift從數組中刪除第一個條目。

$array = array("a","b","c"); 
array_shift($array); 
foreach ($array as $values) 
{ 
    echo $values; //bc 
} 
0

試試這個:

$arr = array(0,1,2,3,4,5); 

unset($arr[0]); 

foreach($arr as $value) { 
    echo $value; 
    echo "<br />"; 
} 

這將刪除數組第一個條目,所以它不會跳,你問,但無論如何你可以試試這個...

+0

OP沒有說他想解除它。我認爲他試圖跳過它只是一個foreach()。 –

相關問題