【たった5ステップ!】PHPで年齢を計算する究極の方法

PHPを使った年齢計算のサンプルコードとその詳しい解説を含むチュートリアル記事 PHP
この記事は約5分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

PHPを使って年齢を計算したい、そんなあなたのためにこの記事を作りました。

この記事を読めば、あなたもPHPで年齢を計算することができるようになります。

手順はたった5つ!簡単に、そして確実に学べる内容になっています。

●PHPとは?

PHPは、「Personal Home Page」の略で、ウェブサイトの開発によく使われるプログラミング言語です。

データベースとの連携が容易で、動的なウェブページを作るのに適しています。

また、学習コストが低く、初心者でも取り組みやすい言語です。

●年齢計算のためのPHPの基礎知識

○変数の使い方

PHPでは、変数を用いてデータを一時的に保管することができます。

変数名はドル記号($)から始め、その後に英字や数字、アンダースコア(_)を使って記述します。

$age = 20; // ageという名前の変数を作り、20を代入しています。

○日付関数の使い方

PHPでは、日付や時刻を取り扱うための関数が豊富に用意されています。

今回の年齢計算では、現在の日付を取得するためにdate関数を使います。

$today = date("Y-m-d"); // 現在の日付を取得しています。形式は"年-月-日"です。

●年齢計算の方法: サンプルコードとその解説

○サンプルコード1:現在の日付と生年月日を用いた年齢計算

ここでは、生年月日と現在の日付を使って年齢を計算するコードを紹介します。

この例では、date関数とstrtotime関数を使用しています。

$birth = "2000-01-01"; // 生年月日を設定しています。形式は"年-月-日"です。
$today = date("Y-m-d"); // 現在の日付を取得しています。

$age = floor((strtotime($today) - strtotime($birth)) / (60 * 60 * 24 * 365)); // 年齢を計算しています。

echo $age; // 年齢を表示しています。

○サンプルコード2:DateTimeオブジェクトを使った年齢計算

次に、DateTimeオブジェクトを使って年齢を計算する方法を紹介します。

この例では、新たにdiffメソッドを使用しています。

$birth = new DateTime('2000-01-01'); // DateTimeオブジェクトとして生年月日を設定しています。
$today = new DateTime(); // 現在の日付をDateTimeオブジェクトとして取得しています。

$interval = $today->diff($birth); // 二つの日付の差を取得しています。

$age = $interval->y; // 年齢を取得しています。

echo $age; // 年齢を表示しています。

●年齢計算の応用例とサンプルコード

○サンプルコード3:年齢制限付きウェブサイトの作成

年齢計算は、例えば年齢制限付きウェブサイトの作成にも使えます。

ここでは、訪問者が18歳以上であるかどうかをチェックするコードを紹介します。

$birth = new DateTime('2000-01-01'); // DateTimeオブジェクトとして生年月日を設定しています。
$today = new DateTime(); // 現在の日付をDateTimeオブジェクトとして取得しています。

$interval = $today->diff($birth); // 二つの日付の差を取得しています。

$age = $interval->y; // 年齢を取得しています。

if($age >= 18){
    echo "ようこそ!"; // 18歳以上ならウェルカムメッセージを表示します。
} else {
    echo "申し訳ありません、あなたはこのウェブサイトを利用できません。"; // 18歳未満ならエラーメッセージを表示します。
}

○サンプルコード4:利用者の年齢に基づく特別なメッセージの表示

また、利用者の年齢に基づいて特別なメッセージを表示することも可能です。

ここでは、訪問者の年齢に応じて異なるメッセージを表示するコードを紹介します。

$birth = new DateTime('2000-01-01'); // DateTimeオブジェクトとして生年月日を設定しています。
$today = new DateTime(); // 現在の日付をDateTimeオブジェクトとして取得しています。

$interval = $today->diff($birth); // 二つの日付の差を取得しています。

$age = $interval->y; // 年齢を取得しています。

if($age < 20){
    echo "成人まであと" . (20 - $age) . "年ですね!頑張ってください!"; // 20歳未満ならエンカレッジメッセージを表示します。
} else {
    echo "成人おめでとうございます!これからの人生をお祝いします!"; // 20歳以上なら祝福メッセージを表示します。
}

●注意点と対処法

年齢計算にあたり、注意すべきポイントがいくつかあります。

例えば、うるう年を考慮しないと誤った結果を得る可能性があります。

また、日付のフォーマットが一致していないと、正しく計算できません。

これらの問題を避けるためには、DateTimeオブジェクトとそのメソッドを活用することが有効です。

まとめ

以上、PHPを使った年齢計算について解説しました。

変数の使い方、日付関数の使い方、そして具体的な年齢計算のサンプルコードとその解説を通じて、PHPで年齢を計算する基本を学びました。

また、年齢計算の応用例と注意点についても説明しました。

これらの知識を活用して、あなたのウェブサイト開発に役立ててください。