2010-11-19 2 views
0

다음 배열은 datetime과 이벤트로 구성되어 있습니다. 오늘 날짜에서 다음 행사를 반환하려고합니다. 예 : 오늘 날짜가 2010-11-19 일 경우 '축구 경기'가 반환됩니다.날짜 시간 배열에서 다음 이벤트 찾기

이 결과를 얻는 가장 좋은 방법은 무엇입니까?

감사합니다.

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를 사용하면 각 값을 오늘 날짜로 테스트하고 원하는 것을 발견하면 중지합니다.