2010-11-19 4 views
0

次の配列はdatetimeとイベントで構成されています。私は今日の日から次のイベントを返そうとしています。例:今日の日付が2010-11-19の場合、「Football Match」が返されます。配列の次のイベントの検索

この結果を得る最も良い方法は何ですか?

多くのありがとうございます。

Array(
    [1] => Array 
     (
      [start] => 20101113T100000Z 
      [event] => Fishing at the Pond 
     ) 

    ... etc ... 

    [29] => Array 
     (
      [start] => 20101125T150000Z 
      [event] => Football Match 
     ) 
) 
+0

また、配列のすべての位置がイベントではありませんか?どのようにイベントを他のものと区別していますか? – acm

答えて

0
$date = '2010-11-19'; 

$next = $array[0]; 
foreach ($array as $item) 
    if (strtotime($date) < strtotime($item['start']) && strtotime($date) > strtotime($next['start'])) $next = $item; 

echo $next['event']; 
+0

Axelcoonありがとう、私は単純な答えがあることを知っていた –

2

なぜあなたのdatetimeを配列のキーとして入れないのですか?あなたは2つの値しか持たないので、これはずっと簡単です。

Array(
[20101113T100000Z] => Fishing at the Pond 
[20101125T150000Z] => Football Match 
) 

foreachを使用して、各値を今日の日付でテストし、必要なときに停止します。