2010-04-28 56 views
0

嘿,我的問題如下, 我想創建代碼,其中一組運動裝置創建日期。 假設我有8支球隊,有7輪比賽。一個很好的方式來釋放燈具

我已經生成了燈具,但想在它們上添加日期生成。 因此,如果我有7輪,我會放28天,它會從現在開始,從現在開始的8天,每4天等。

什麼是最好的方式去做這件事?從 感謝

+2

什麼是運動夾具?比賽? – MJB 2010-04-28 14:39:43

+0

是的,我在想如果我生成燈具並在相隔4天的時間裏爲它們添加了一個日期,那麼我可以在網站上編寫一個腳本來僅顯示具有今天或之前日期的燈具?這應該是耶? – sark9012 2010-04-28 14:47:05

回答

0

這應該做你想要什麼,並允許奇數隊伍。日期可能並不完美,因爲四捨五入:

$teams = array("TEAM A","TEAM B","TEAM C","TEAM D","TEAM E", "TEAM F","TEAM G","TEAM H","TEAM I"); 
    $days = 28; 
    $rounds = count($teams) -1; 

    //Number of Days Between Fixtures 
    $daysBetweenFixtures = floor($days/$rounds); 


    $fixtures = array(); 

    for($i =0; $i < count($teams); $i++) { 
     //Calculate Date of this round of fixtures 
     $date = date("D d M Y",mktime(0, 0, 0, date("m") , date("d")+ ($i * $daysBetweenFixtures) , date("Y"))); 

     $hasFixtureToday = array(); 

     for($j=$i; $j<$i+count($teams); $j=$j+2) { 
      $homeTeam = $teams[$j % count($teams)];   
      $awayTeam = $teams[($j+1) % count($teams)]; 

      if(!in_array($homeTeam,$hasFixtureToday) && !in_array($awayTeam,$hasFixtureToday)) { 
       $fixtures[$date][] = "{$homeTeam} vs {$awayTeam}"; 
       $hasFixtureToday[] = $homeTeam; 
       $hasFixtureToday[] = $awayTeam; 
      } 
     } 
    } 
    print_r($fixtures); 
0

例使用的strtotime()PHP-CLI:

php > echo date("Y-m-d", strtotime("+4 days")); 
2010-05-02 

php > echo date("Y-m-d", strtotime("+8 days")); 
2010-05-06 

php > echo date("Y-m-d", strtotime("+12 days")); 
2010-05-10 
+0

啊,我看到了,所以如果我製作一個算法,通過在每套燈具上添加4天循環,它會起作用嗎? – sark9012 2010-04-28 15:57:58

+0

我建議你自己測試一下,因爲你沒有包含任何代碼。如果您使用相關代碼編輯您的問題,我們可以進一步評論。 – racerror 2010-04-28 16:18:48

相關問題