当前位置: 首页 > news >正文

计算某个生日是哪个星座的算法

计算某用户出生日期是哪个星座的php代码

传参为 月和日

代码如下:

<?php 
// 水瓶座        1.20-2.18
// 双鱼座        2.19-3.20
// 白羊座        3.21-4.19
// 金牛座        4.20-5.20
// 双子座        5.21-6.21
// 巨蟹座        6.22-7.22
// 狮子座        7.23-8.22
// 处女座        8.23-9.22
// 天秤座        9.23-10.23
// 天蝎座        10.24-11.22
// 射手座        11.23-12.21
// 魔羯座        12.22-1.19


function get_zodiac_sign($month, $day) 
{ 
    // 检查参数有效性 
    if ($month < 1 || $month > 12 || $day < 1 || $day > 31) 
    {
        return (false);
    } 
    // 星座名称以及开始日期 
    $signs = 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($sign_start, $sign_name) = each($signs[(int)$month-1]); 
    if ($day < $sign_start) 
    {
        list($sign_start, $sign_name) = each($signs[($month -2 < 0) ? $month = 11: $month -= 2]); 
    }
    return $sign_name; 
}//函数结束 

var_dump(get_zodiac_sign(11,11));
exit();

 

转载于:https://www.cnblogs.com/lizhaoyao/p/5908881.html

相关文章:

  • this在方法赋值过程中无法保持(隐式丢失)
  • (三)uboot源码分析
  • Swift - 数组排序方法(附样例)
  • Image控件Stretch属性
  • C语言学习笔记--递归函数
  • UML-用例
  • 【Apache大系】Apache服务器面面观
  • MongoDB:实体对象(javabean)转DBObject
  • 关于TCP/IP协议
  • 【Python开发】Python PIL ImageDraw 和ImageFont模块学习
  • CSS学习(一)
  • 问题
  • jquery登录的异步验证
  • for循环的嵌套
  • 关于cmd下使用taskkill无法终止进程名包含空格的进程的解决方案
  • ES6语法详解(一)
  • JavaScript DOM 10 - 滚动
  • JAVA之继承和多态
  • laravel5.5 视图共享数据
  • php的插入排序,通过双层for循环
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • vuex 学习笔记 01
  • windows下使用nginx调试简介
  • 规范化安全开发 KOA 手脚架
  • 区块链共识机制优缺点对比都是什么
  • 区块链技术特点之去中心化特性
  • 如何编写一个可升级的智能合约
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 异常机制详解
  • 用mpvue开发微信小程序
  • 原生Ajax
  • Semaphore
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (1) caustics\
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (十六)一篇文章学会Java的常用API
  • (十三)Maven插件解析运行机制
  • (顺序)容器的好伴侣 --- 容器适配器
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (译)计算距离、方位和更多经纬度之间的点
  • *上位机的定义
  • .bat批处理出现中文乱码的情况
  • .md即markdown文件的基本常用编写语法
  • .NET 8.0 中有哪些新的变化?
  • .NET Core 中的路径问题
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 设计模式初探
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证