2017-03-20 15 views
1

私はこの方法を持っている:2年間の年のリストを取得しますか?

public function getYears($startYear = 1990, $endYear = date ('Y')){ 
    $years = []; 
    $date = new \DateTime(); 

    $years[$date->format('Y')] = $date->format('Y'); 
    while ($endYear <= $startYear){ 
     $date->add(new \DateInterval('P1Y')); 
     $years[$date->format('Y')] = $date->format('Y'); 
     $endYear++; 
    } 
    return $years; 
} 

コードのこの作品は、作品をdoens'tが、あなたは私が何をしたいアイデアを得ますか?どのように私はこの作品を作ることができますか? THX

+0

[PHPを使用して2つの日付の違いを計算する方法]の可能な複製?(http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates-using-php) – Fky

+0

@Fkyあなたが提案した投稿は 'strtotime'メソッドを使っています。 'DateTime()'クラスのメソッドを使いたいです。 Thx – Chester

+0

PHPの[range](http://php.net/range)関数を使用するだけではどうですか? – mrun

答えて

4

私はあなたの質問を理解していれば、これは本当に簡単です:

$arYears = range(1990, date('Y')); 
+1

Thxたくさん、私はコーヒーが必要です:P – Chester

+0

そして実際にキーを '$ arYears = array_combine($ arYears、$ arYears);' – AbraCadaver

1

あなたがループに固執したい場合、あなたはこのようにそれを行うことができます(テストしていません):

function getYears($startYear = 1990, $endYear = date ('Y')) { 
    $years = []; 
    for ($y = $startYear; $y < $endYear; $y++) { 
    $years[] = $y; 
    } 
    return $years; 
} 
関連する問題