1

私はPHPコードで作業しています.forステートメントを使用しています。

for($i=0; $i<4; $i++)

$i=0 は 0 からカウントされ、$i < $4 は 0 から 4 未満までカウントされることを意味します。

私が達成しようとしているのは、複数の PHP コードを使用するのではなく、複数の for ステートメントを追加することです。

for($i=0; $i<4; $i++)
for($i=4; $i<8; $i++)
for($i=8; $i<12; $i++)
for($i=12; $i<16; $i++)

.......など、すべての結果を一覧表示します。

<?php
$day = "";
for($i=0; $i<4; $i++)
{
    $day =  date("d", mktime(0, 0, 0, 2, 29, date("Y")+$i));
    if($day == 29)
    {
        $year = date("Y")+$i;
        break;
    }
}
echo "<p>The next leap year is 29th February $year</p>";    
?>

エコー結果は次のようになります。

次のうるう年は 2016 年 2 月 29 日です

次の閏年は2020年2月29日です

4

4 に答える 4

10

うるう年は次の方法で確認できますdate("L")

$yearsToCheck = range(2013, 2020);

foreach ($yearsToCheck as $year) {
    $isLeapYear = (bool) date('L', strtotime("$year-01-01"));
    printf(
        '%d %s a leap year%s',
        $year,
        $isLeapYear ? 'is' : 'is not',
        PHP_EOL
    );
}

出力

2013 is not a leap year
2014 is not a leap year
2015 is not a leap year
2016 is a leap year
2017 is not a leap year
2018 is not a leap year
2019 is not a leap year
2020 is a leap year
于 2013-07-29T12:52:03.087 に答える
7

うるう年の条件を使用し、年だけを確認します。これには 1 つのステートメントを使用してください。

function is_leap_year($year)
{
   return ((($year % 4) == 0) && ((($year % 100) != 0) || (($year % 400) == 0)));
}
于 2013-07-29T12:50:34.747 に答える
3

なぜこれが好きではないのですか?

<?php
    for($i=0; $i<16; $i++)
    {
        $day = date("d", mktime(0, 0, 0, 2, 29, date("Y")+$i));
        if($day == 29)
        {
            $year = date("Y")+$i;
            echo "<p>The next leap year is 29th February $year</p><br>";
        }
    }
?>
于 2013-07-29T12:50:10.210 に答える