勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPにて西暦から干支(十二支)を計算し表示する方法

  PHP

先日MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表示する方法をメモしたが、PHPでも同じようなことをしたい。以下に対応方法をメモ。

 

対応方法

ソースコード

<?php
$eto_list = array(
    '子(ねずみ)',
    '丑(うし)',
    '寅(とら)',
    '卯(うさぎ)',
    '辰(たつ)',
    '巳(み)',
    '午(うま)',
    '未(ひつじ)',
    '申(さる)',
    '酉(とり)',
    '戌(いぬ)',
    '亥(い)',
);

for( $year = 2008; $year <= 2020; $year++ ){
    $eto = $eto_list[($year - 4) % 12];
    echo $year . "年 " . $eto . "\n";
}

出力結果

2008年 子(ねずみ)
2009年 丑(うし)
2010年 寅(とら)
2011年 卯(うさぎ)
2012年 辰(たつ)
2013年 巳(み)
2014年 午(うま)
2015年 未(ひつじ)
2016年 申(さる)
2017年 酉(とり)
2018年 戌(いぬ)
2019年 亥(い)
2020年 子(ねずみ)

 - PHP

  関連記事

formにhCaptchaを組み込み、PHPで結果を検証する方法
formにhCaptchaを組み込み、PHPで結果を検証する方法

お問い合わせフォーム等でGoogle reCAPTCHAではなくhCaptcha ...

formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法
formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法

だいぶ前にGoogle reCAPTCHA v2をformに組み込むという記事を ...

PHPで複数の送信先に一括でメールを送る方法
PHPで複数の送信先に一括でメールを送る方法

PHPで複数の送信先に一括でメールを送信したかった。配列とかで指定するのかと思っ ...

PHPでLINEログイン後「ユーザー名」「ユーザーID」「プロフィール画像URL」「メッセージ」を取得する方法
PHPでLINEログイン後「ユーザー名」「ユーザーID」「プロフィール画像URL」「メッセージ」を取得する方法

<a>タグのリンクからページ遷移するとLINEログインし、その後に「 ...

PHPでJSONデータを見やすく整形した上で表示させる方法
PHPでJSONデータを見やすく整形した上で表示させる方法

PHPで何らかのデータをjson_encodeでJSONに変換し、そのままech ...