2016-11-17 182 views
0

所以我想創建的東西,將檢查日期,並根據今天的日期產生一個不同的變量結果。麻煩與inarray

這是我當前的代碼:

<?php 
    for($i = 0; $i <= 25; $i++) 
    $dates[] = date("d", strtotime("+$i days")); 
    foreach ($dates as $today) { 
     if (in_array($today, array('01', '05', '09', '14', '19', '24'), true)) { 
      $tweet = "one"; 
     } 
     if (in_array($today, array('02', '06', '10', '15', '20', '25'), true)) { 
      $tweet = "two"; 
     } 
     if (in_array($today, array('03', '07', '11', '16', '21'), true)) { 
      $tweet = "three"; 
     } 
     if (in_array($today, array('04', '08', '12', '17', '22'), true)) { 
      $tweet = "four"; 
     } 
    } 
    echo $tweet; 
?> 

問題是,即使日期總是變化它的回聲「四個一」,我失去了什麼?

+5

因爲你會覆蓋'$ tweet',所以最後一個運行的將是今天+ 25天,這將是第12個。你的意思是'echo'在'foreach'裏面嗎? –

+0

謝謝@JonStirling – Aaron

+0

聽起來像解決了這個問題?將作爲答案發布。 –

回答

2

因爲您在循環的每次迭代中都覆蓋了$tweet,這意味着只有最後一次迭代實際可用。最後一次迭代將在今天+ 25天,即12月12日。

12導致$tweetfour的分配,因爲這是最後一次迭代,所以$tweet在循環結束後是相同的。