ホームページ > バックエンド開発 > PHPの問題 > PHPで閏年を判断するにはどうすればよいですか? 3つの方法の紹介

PHPで閏年を判断するにはどうすればよいですか? 3つの方法の紹介

PHPz
リリース: 2023-03-28 16:31:20
オリジナル
4027 人が閲覧しました

閏年とは、グレゴリオ暦で 4 年に一度の閏年、つまり通常の 365 日の 1 年の間に 366 日を挿入した年を指し、太陽年と一致させることが目的です。

グレゴリオ暦の規定によれば、閏年には一般に 2 つの状況があります: ① 年は 4 で割り切れるが、100 では割り切れない、② 年は 400 で割り切れる。今回はプログラミング言語PHPをベースに閏年判定を実現する方法を紹介します。

  1. if 文を使用してうるう年を決定する

if 文は、PHP で非常に一般的な制御文であり、閏年を論理的に判断して決定されます。条件を指定してプログラムの分岐方向を決定します。以下は、if ステートメントを使用して閏年を決定するコードです:

function isLeapYear($year)
{
    $isLeap = false;

    if ($year % 4 == 0) {
        $isLeap = true;
        if ($year % 100 == 0 && $year % 400 != 0) {
            $isLeap = false;
        }
    }

    return $isLeap;
}
ログイン後にコピー

上記のコードでは、変数 $isLeap を使用して閏年の true 値と false 値を保存します。まず、$year が 4 で割り切れるかどうかを確認します。割り切れる場合は、$isLeap を true に設定します。次に、$year が 100 で割り切れるかどうかを確認します。そうであれば、うるう年の定義に従って、うるう年であるかどうかを判断するには、400 で割り切れる必要があります。それ以外の場合は、$isLeap を false に設定します。最後に、$isLeap の値が返されます。

  1. 三項演算子を使用してコードを簡素化する

三項演算子 (?:) は、if-else を使用できる非常に簡潔な構文です。ステートメントは 1 行のコードに短縮されます。以下は、三項演算子を使用して閏年判定を実現するコードです。

function isLeapYear($year)
{
    return ($year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0));
}
ログイン後にコピー

上記コードでは、判定結果を直接戻り値に設定し、三項演算子を使用して条件を判定しています。 $year が 4 で割り切れる、100 で割り切れない、または 400 で割り切れる場合は true を返し、それ以外の場合は false を返します。

三項演算子を使用するとコードが簡潔になりますが、初心者にとってはこの構文が理解しにくい場合があるため、if ステートメントをマスターしてから学習することをお勧めします。

  1. switch 文を使って閏年判定を実現

if 文や三項演算子以外にも switch 文を使って閏年判定を実現できます年裁判官。以下は、switch ステートメントを使用してうるう年の判定を実装するコードです。

function isLeapYear($year)
{
    switch (true) {
        case ($year % 400 == 0):
            return true;
        case ($year % 100 == 0):
            return false;
        case ($year % 4 == 0):
            return true;
        default:
            return false;
    }
}
ログイン後にコピー

上記のコードでは、switch ステートメントを使用して $year を判定し、状況に応じて異なる分岐コードを実行します。 $year が 400 で割り切れる場合は true を返し、$year が 100 で割り切れる場合は false を返し、$year が 4 で割り切れる場合は true を返し、上記の条件がいずれも満たされない場合は false を返します。

まとめ

上記の 3 つの方法の中で、if ステートメントは最もよく使用され、最も理解しやすい方法です。三項演算子を使用するとコードをより簡潔にできますが、if ステートメントを習得することに基づいて学習する必要があります。 switch ステートメントは閏年の判定ではあまり使用されませんが、他のシナリオでも使用される可能性があるため、学習して習得する必要があります。

最後に、この記事が読者の皆様にPHPで閏年判定を実現する方法を理解し、実際の開発に応用できるようになれば幸いです。

以上がPHPで閏年を判断するにはどうすればよいですか? 3つの方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート