PHPSnippets

php 생년월일로 별자리 구하기

사용자의 생년월일을 입력하면 사용자에게 해당하는 별자리 코드를 반환하는 함수입니다.
생년월일의 데이트 타입은 YYYY-MM-DD 형식으로 입력하세요.

strtotime() 함수가 지원하는 날짜 형식은 모두 사용 가능합니다.

<?php
$Zodiac = Array("Ari"=>"양자리",
                "Tau"=>"황소자리",
                "Gem"=>"쌍둥이자리",
                "Can"=>"게자리",
                "Leo"=>"사자자리",
                "Vir"=>"처녀자리",
                "Lib"=>"천칭자리",
                "Sco"=>"전갈자리",
                "Sag"=>"사수자리",
                "Cap"=>"염소자리",
                "Aqu"=>"물병자리",
                "Pis"=>"물고기자리");

function DateToZodiac($date) {
   $zcode = "";

   if(!strtotime($date)) return false;

   $md = date("md", strtotime($date));

   $md = (integer)$md;

   if($md >= 120 && $md <= 218) {
      $zcode = "Aqu";
   } else if($md >= 219 && $md <= 320) {
      $zcode = "Pis";
   } else if($md >= 321 && $md <= 419) {
      $zcode = "Ari";
   } else if($md >= 420 && $md <= 520) {
      $zcode = "Tau";
   } else if($md >= 521 && $md <= 621) {
      $zcode = "Gem";
   } else if($md >= 622 && $md <= 722) {
      $zcode = "Can";
   } else if($md >= 723 && $md <= 822) {
      $zcode = "Leo";
   } else if($md >= 823 && $md <= 923) {
      $zcode = "Vir";
   } else if($md >= 924 && $md <= 1022) {
      $zcode = "Lib";
   } else if($md >= 1023 && $md <= 1122) {
      $zcode = "Sco";
   } else if($md >= 1123 && $md <= 1224) {
      $zcode = "Sag";
   } else if($md >= 1225 || $md <= 119) {
      $zcode = "Cap";
   } else {
      $zcode = "Fail";
   }

   return $zcode;
}

$zcode = DateToZodiac("1985-03-21");

echo $Zodiac[$zcode];
?>