2011-09-12 22 views
2

私はこのIDの配列を持っています:$ products = array(2151、2563、2015、1986、1985);配列取得次/前の要素

私が望むのは、IDを渡すたびに次の項目と前の項目を返す関数を作成することです。例えば、私は2563-idと答えて2151 &2015と言うことができます。

どのような提案もあります。

+0

idsを取得していますか?どれくらい? –

答えて

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

関連する問題