2011-09-12 41 views
2

我有這樣的id數組:$ products = array(2151,2553,2015,1986,1985);Array獲取下一個/上一個元素

我想要的是構建一個函數,每次我傳遞一個id時將返回下一個和前一個項目。例如,當我讓我們說,2563-ID獲得響應與2151 & 2015.

任何建議,將不勝感激。

+0

你從哪裏得到你的ID?他們有多少人? –

回答

6
$index = array_search($id, $products); 
if($index !== FALSE) 
{ 
    $next = $products[$index + 1]; 
    $previous = $products[$index - 1]; 
} 

然後你做檢查,因爲$products[$index +/- 1]不會永遠存在!

+1

通常你先做檢查,然後計算'$ index +/- 1'或'false +/- 1'是什麼? – duedl0r

+0

@ duedl0r:謝謝。現在編輯答案。我沒有考慮'array_search()'的返回值。我所指的支票是'$ next'和'$ previous' –

+0

我認爲,您仍然應該檢查'$ products'是否設置爲'$ index +/- 1'。 – Yoshi