ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで誕生日に基づいて星座と黄道帯を決定する

PHP_PHP チュートリアルで誕生日に基づいて星座と黄道帯を決定する

WBOY
WBOYオリジナル
2016-07-13 17:15:471161ブラウズ

星座を判断するのは非常に簡単です。各週の日付と期間をすべて数えて、クエリ用の日付を取得する必要があります。以下に 2 つの例を示します。必要な学生は参照してください。

星占い: このタイムラインに基づいてこれを書きましたが、正確ではない可能性があります。

「水瓶座」=>「(1/22-2/21)」、「魚座」=>「(2/22-3/21)」、

「牡羊座」=>「(3/22-4/21)」、「牡牛座」=>「(4/22-5/21)」、

「双子座」=>「(5/22-6/21)」、「蟹座」=>「(6/22-7/21)」、

「獅子座」=>「(7/22-8/21)」、「乙女座」=>「(8/22-9/21)」、

「天秤座」=>「(9/22-10/21)」、「蠍座」=>「(10/22-11/21)」、

「射手座」=>「(11/22-12/21)」、「山羊座」=>「(12/22-1/21)」


日付に基づいてホロスコープ関数を決定します

コードは次のとおりです コードをコピー

関数 yige_constellation($month, $day) {
// パラメーターの有効性をチェックします
if ($month 12 || $day 31) return false;

// 星座名と開始日
$constellations = array(
array( "20" => "アクエリアス"),
array( "19" => "魚座"),
array( "21" => "牡羊座"),
array( "20" => "おうし座"),
array( "21" => "ジェミニ"),
array( "22" => "癌"),
array( "23" => "レオ"),
array( "23" => "乙女座"),
array( "23" => "天秤座"),
array( "24" => "さそり座"),
array( "22" => "射手座"),
array( "22" => "山羊座")
);

list($constellation_start, $constellation_name) = each($constellations[(int)$month-1]);

if ($day < $constellation_start) list($constellation_start, $constellation_name) = each($constellations[($month -2 < 0) ? $month = 11: $month -= 2]);

$constellation_name を返します;
}

以下はより包括的で、誕生日に基づいてあなたの年齢、星座、星座を直接確認できます

コードは次のとおりです コードをコピー

/**

* 誕生日の月と日に基づいて星座を計算します

*

* @param int $birth_month

* @param int $birth_date

* @戻り文字列

*/

関数 get_constellation($birth_month,$birth_date)

{

//判定の際、1とtrueの混同や判定文が常にtrueになる問題を避けるため、ここでは文字列形式に統一しています

$birth_month = strval($birth_month);

$星座名 = 配列(

「水瓶座」、「魚座」、「牡羊座」、「牡牛座」、「双子座」、「蟹座」

「獅子座」、「乙女座」、「天秤座」、「蠍座」、「射手座」、「山羊座」

);

if ($birth_date

{

if ('1' !== $birth_month)

{

$constellation = $constellation_name[$birth_month-2];

}

その他

{

$constellation = $constellation_name[11];

}

}

その他

{

$constellation = $constellation_name[$birth_month-1];

}

$constellation を返す;

}


/**

* 誕生日の年に基づいて星座を計算します

*

* @param int $birth_year

* @戻り文字列

*/

関数 get_animal($birth_year)

{

//1900 年は子年です

$animal = 配列(

「Zi Shu」、「Chou Niu」、「Yin Hu」、「Mao Rabbit」、「Chen Long」、「Si Snake」、

「ウーマ」、「ウェイヤン」、「シェンモンキー」、「ユルースター」、「シュドグ」、「海珠」

);

$my_animal = ($birth_year-1900)%12;

$animal[$my_animal] を返します;

}


/**

* 誕生日に基づいて年齢を計算します

*

* Unix タイムスタンプを使用した計算が最も正確ですが、1970 年より前に生まれたケースを処理するのは簡単ではありません

* 閏年の問題も考慮しなければならないので、しばらくこの開発方法は諦めて考えていきます

*

* @param int $birth_year

* @param int $birth_month

* @param int $birth_date

* @return int

*/

関数 get_age($birth_year,$birth_month,$birth_date)

{

$now_age = 1; //出生時の 1 歳として計算される実際の年齢

$full_age = 0; //この変数は保存され、特定の状況に応じていつでも変更できます

$now_year = 日付('Y',time());

$now_date_num = date('z',time()) // その年の日

;

$birth_date_num = date('z',mktime(0,0,0,$birth_month,$birth_date,$birth_year));

$差 = $now_date_num - $birth_date_num;

if ($difference > 0)

{

$full_age = $now_year - $birth_year;

}

その他

{

$full_age = $now_year - $birth_year - 1;

}

$now_age = $full_age + 1;

$now_age を返す;

}


?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628740.html技術記事黄道帯の判断は非常に簡単です。各週の日付と期間をすべて数えて、クエリ用の日付を取得する必要があります。必要な学生はそれを参照してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。