2013-08-19 3 views
0

배열 $data['Occur']$data['Reset']비교하여 가장 가까운 타임 스탬프를 찾을 방법이 내가 두 배열이

$data['Occur']가 배열 일부 이벤트 발생의 타임 스탬프로 구성하고

$data['Reset']가 배열 의 타임 스탬프로 구성되어 말할 수 있습니다 재설정 동일한 발생

내가 할 일은 해당 재설정 이벤트에 대한 타임 스탬프가 발생 찾을 수 있습니다. 예

:

이벤트 "2013년 10월 1일 0시 50분 27초"에서 발생하며 배열 인 경우 $ 데이터 해당 이벤트 다음 리셋 타임 스탬프 [ '발생'] 그냥 더 큰 타임 스탬프가 될 것입니다 2013-10-01 00:53:27.

나는 모양을이 배열에서 유지해야한다 :

$ 어레이 [0] [ '발생'= '2013년 10월 1일 0시 50분 27초'단계;

$ 어레이 [0] 2013년 10월 1일 0시 53분 27초를 '['리셋 '] =;

$ 어레이 (2013년 10월 1일 0시 50분 27초 각각 리셋 타임 스탬프) [1] [ 'occur'] = '2013-10-01 00:55:11';

$ 배열 [1] 2013년 10월 1일 0시 57분 17초를 '['재설정 '= (2013년 10월 1일 0시 55분 11초 각각 리셋 타임 스탬프) 온

'발생'타임 스탬프의 기초로, 나는 모든 데이터를 '$ data ['Occur '] 배열의 시간 스탬프 값에 대해 더 큰'재설정 '타임 스탬프를 찾아야합니다.

$ 데이터 배열처럼 보이는 것이다 [ '발생'] 상기 어레이

[Occur] => Array 
     (
      [0] => Array 
       (
        [Occur_Date_Time] => 2013-10-01 00:50:27 
       ) 

      [1] => Array 
       (
        [Occur_Date_Time] => 2013-09-01 00:52:01 
       ) 

      [2] => Array 
       (
        [Occur_Date_Time] => 2013-08-01 00:07:48 
       ) 

      [3] => Array 
       (
        [Occur_Date_Time] => 2013-07-01 00:06:59 
       ) 

      [4] => Array 
       (
        [Occur_Date_Time] => 2013-06-18 10:04:16 
       ) 

      [5] => Array 
       (
        [Occur_Date_Time] => 2013-06-17 11:40:50 
       ) 
     ) 

**and** 

[reset] => Array 
     (
      [0] => Array 
       (
        [reset_Date_Time] => 2014-04-01 00:03:34 
       ) 

      [1] => Array 
       (
        [reset_Date_Time] => 2013-09-01 01:09:21 
       ) 

      [2] => Array 
       (
        [reset_Date_Time] => 2013-09-01 00:00:34 
       ) 

      [3] => Array 
       (
        [reset_Date_Time] => 2013-07-01 00:16:14 
       ) 

      [4] => Array 
       (
        [reset_Date_Time] => 2013-06-18 11:05:28 
       ) 

      [5] => Array 
       (
        [reset_Date_Time] => 2013-06-17 12:56:58 
       ) 
     ) 

임의의 타임 스탬프를 가질 것이다있다 그래서 순차적으로 유사한 캔트. 모든 이벤트 발생 및 재설정 타임 스탬프를 일치시켜야합니다. 내가 어떻게 이걸 얻을 수 있니?

+0

질문에 대한 답변을 제공해 줄 수 있습니까? 그것은 나에게 분명하지 않습니다. – putvande

+0

일치하는 첫 번째 이후의 모든 쌍이 일치 할 수도 있습니다. – DevlshOne

답변

0
function findResetMate($e,$k, $reset) { 
    $gap = 10E50+1; 
    if ($reset < $e) return false; 
    if (($reset - $e) < $gap) { 
     $gap = ($reset - $e); 
     $mate = $reset; 
    } 
    echo "EVENT : " . date("M d, Y H:i:s",$e) . " -->RESET<-- " . date("M d, Y H:i:s",$reset) . "<br />\n"; 
    return true; 
} 
foreach($data['Reset'] as $r) { 
    array_walk($data['Occur'], "findResetMate", $r); 
} 
관련 문제