勉強したことのメモ

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

  関連記事

PHPのswitch文で「>」「<」等、比較演算子の使用について
PHPのswitch文で「>」「<」等、比較演算子の使用について

switch文は指定の変数が、特定の値もしくは文字列だった場合のみに使うようなも ...

PHPで指定したディレクトリ内のファイルを全てincludeする方法
PHPで指定したディレクトリ内のファイルを全てincludeする方法

PHPでライブラリを利用する際にcomposerからインストールしたものは「ve ...

CodeIgniter4 & jQueryを用いて同一サイト内でajax通信する方法
CodeIgniter4 & jQueryを用いて同一サイト内でajax通信する方法

CodeIgniter4.4.4 & jQueryを用いて同一サイト内で ...

PHPのZipArchive::addFileでファイルが追加できない場合の対応方法
PHPのZipArchive::addFileでファイルが追加できない場合の対応方法

過去記事を参考にPHPにて複数のファイルをzipファイル化後、ダウンロードさせた ...

PukiWikiでバックアップを週一等スケジュール化して実行する方法
PukiWikiでバックアップを週一等スケジュール化して実行する方法

PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...