2016-03-20 84 views
-1

我有一個數組$ d的郵政編碼,這會生成我的google地圖的標記。 我只想顯示創建少於3秒的標記,超過3秒將被隱藏。更新:如何從標記數組中隱藏標記?

$postcodes = array(); 
$diff = array(); // time difference variable 
foreach($stmt as $x){ 
    //////////////time calculation start////////////////////////////  
     $posts[] = $x['date']; 
     $timePosted = new DateTime($posts[] = $x['date']); 
     echo 'Time Posted : '. $timePosted ->format("d-m-Y H:i:s"); 
     echo "</br>"; 
     date_default_timezone_set('Europe/London'); 
     $today = date('d-m-Y H:i:s'); 
     echo 'Current time is : '. $today; 
     echo "</br>";  
     $today = new DateTime(date('d-m-Y H:i:s')); 
     $interval = $timePosted->diff($today); 
     "Difference " . $interval->d. " days ". $interval->h. " hours ".$interval->i." minutes ".$interval->s." seconds "; 
     echo "</br>"; 
     //$diff[] = $interval->h. " hours ".$interval->i." minutes ".$interval->s." seconds "; 
     $diff[] = $interval->s; //last array seconds 
/////////////////////time calculation finish here///////////////////////// 

    global $postcodes; 
//$postcodes[] = $x['postcode']; //postcodes 
    foreach ($diff as $time => $seconds) { 
      echo var_dump($seconds); 
      if($seconds >=3){ 
      echo "larger than 3 seconds<br />"; 
      }else{ 
     echo "smaller than 3 seconds.<br />"; 
     $postcodes[] = $x['postcode']; //this need to be globle not working yet 
      } 
     }//time foreach loop finish here 


    } /// main foreach loop finish here 
    $d=' "'.implode('","',$postcodes).'"'; //postcodes inside $postcode array 
+0

你如何試圖隱藏標記? – geocodezip

+0

我的數據庫中有一個時間戳,$ diff數組已經計算出了時間差,我試圖通過設置false來使$ d隱藏3秒。但是現在所有標記都隱藏了,但是我確定必須有一種方法來做到這一點。 – user999

+0

什麼是$ d?它是一個標記數組還是布爾變量?請提供證明此問題的[最小,完整,測試和可讀示例](http://stackoverflow.com/help/mcve)。 – geocodezip

回答

0

我怎麼也不敢相信這個簡單的就可以了,事實證明,我不需要在PHP寫這在所有的,我可以做這在SQL我需要的是增加date >= now() - INTERVAL 3 second;我sql語句。希望這可以幫助某人。