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];
?>