Pages

Subscribe:

Ads 468x60px

Labels

顯示具有 星座 標籤的文章。 顯示所有文章
顯示具有 星座 標籤的文章。 顯示所有文章

2015年5月6日 星期三

[PHP] 取得生日對應的星座名稱

ㄟㄟ
無意間找到這個
覺得很實用

資料來源

在 Google 上找了一下能用 function,花了十分鐘決定自己寫了,說實在的在 social 的網站上這算是基本需求,而以前寫的也不知道丟哪去了,這次好好記錄下來免得以後又要再寫一份。

  1. function getStarSignsName($month$day) {  
  2.    $list=array(  
  3.        array('name'=>"摩羯座",'min'=>'12-22','max'=>'01-19'),    
  4.        array('name'=>"水瓶座",'min'=>'01-20','max'=>'02-18'),  
  5.        array('name'=>"雙魚座",'min'=>'02-19','max'=>'03-20'),  
  6.        array('name'=>"牡羊座",'min'=>'03-21','max'=>'04-19'),  
  7.        array('name'=>"金牛座",'min'=>'04-20','max'=>'05-20'),  
  8.        array('name'=>"雙子座",'min'=>'05-21','max'=>'06-21'),  
  9.        array('name'=>"巨蟹座",'min'=>'06-22','max'=>'07-22'),  
  10.        array('name'=>"獅子座",'min'=>'07-23','max'=>'08-22'),  
  11.        array('name'=>"處女座",'min'=>'08-23','max'=>'09-22'),  
  12.        array('name'=>"天秤座",'min'=>'09-23','max'=>'10-23'),  
  13.        array('name'=>"天蠍座",'min'=>'10-24','max'=>'11-22'),  
  14.        array('name'=>"射手座",'min'=>'11-23','max'=>'12-21'),  
  15.    );   
  16.      
  17.    $time=strtotime("1970-$month-$day");  
  18.    foreach ($list as $row){  
  19.        $min=strtotime("1970-".$row['min']);  
  20.        $max=strtotime("1970-".$row['max']);  
  21.        if($min<=$time && $time<=$max){  
  22.            return $row['name'];  
  23.        }  
  24.    }  
  25.    /*other to 摩羯座*/  
  26.    return $list[0]['name'];  
  27. }  


測試程式:
  1. $test=array(  
  2.    array('n'=>"水瓶座",'m'=>'01','d'=>'20'),  
  3.    array('n'=>"水瓶座",'m'=>'02','d'=>'08'),  
  4.    array('n'=>"水瓶座",'m'=>'02','d'=>'18'),  
  5.      
  6.    array('n'=>"雙魚座",'m'=>'02','d'=>'19'),  
  7.    array('n'=>"雙魚座",'m'=>'03','d'=>'10'),  
  8.    array('n'=>"雙魚座",'m'=>'03','d'=>'20'),  
  9.      
  10.    array('n'=>"牡羊座",'m'=>'03','d'=>'21'),  
  11.    array('n'=>"牡羊座",'m'=>'04','d'=>'09'),  
  12.    array('n'=>"牡羊座",'m'=>'04','d'=>'19'),  
  13.      
  14.    array('n'=>"金牛座",'m'=>'04','d'=>'20'),  
  15.    array('n'=>"金牛座",'m'=>'05','d'=>'10'),  
  16.    array('n'=>"金牛座",'m'=>'05','d'=>'20'),  
  17.      
  18.    array('n'=>"雙子座",'m'=>'05','d'=>'21'),  
  19.    array('n'=>"雙子座",'m'=>'06','d'=>'1'),  
  20.    array('n'=>"雙子座",'m'=>'06','d'=>'21'),  
  21.      
  22.    array('n'=>"巨蟹座",'m'=>'06','d'=>'22'),  
  23.    array('n'=>"巨蟹座",'m'=>'07','d'=>'02'),  
  24.    array('n'=>"巨蟹座",'m'=>'07','d'=>'22'),  
  25.      
  26.    array('n'=>"獅子座",'m'=>'07','d'=>'23'),  
  27.    array('n'=>"獅子座",'m'=>'08','d'=>'02'),  
  28.    array('n'=>"獅子座",'m'=>'08','d'=>'22'),  
  29.      
  30.    array('n'=>"處女座",'m'=>'08','d'=>'23'),  
  31.    array('n'=>"處女座",'m'=>'09','d'=>'02'),  
  32.    array('n'=>"處女座",'m'=>'09','d'=>'22'),  
  33.      
  34.    array('n'=>"天秤座",'m'=>'09','d'=>'23'),  
  35.    array('n'=>"天秤座",'m'=>'10','d'=>'03'),  
  36.    array('n'=>"天秤座",'m'=>'10','d'=>'23'),  
  37.      
  38.    array('n'=>"天蠍座",'m'=>'10','d'=>'24'),  
  39.    array('n'=>"天蠍座",'m'=>'11','d'=>'02'),  
  40.    array('n'=>"天蠍座",'m'=>'11','d'=>'22'),  
  41.      
  42.    array('n'=>"射手座",'m'=>'11','d'=>'23'),  
  43.    array('n'=>"射手座",'m'=>'12','d'=>'02'),  
  44.    array('n'=>"射手座",'m'=>'12','d'=>'21'),  
  45.      
  46.    array('n'=>"摩羯座",'m'=>'12','d'=>'22'),  
  47.    array('n'=>"摩羯座",'m'=>'01','d'=>'09'),  
  48.    array('n'=>"摩羯座",'m'=>'01','d'=>'19'),  
  49. );  
  50.   
  51. foreach ($test as $v){  
  52.    if(getStarSignsName($v['m'],$v['d'])!==$v['n']){  
  53.        echo $v['n'],"error
    "
    ;  
  54.    }else{  
  55.        echo $v['n'],"OK
    "
    ;  
  56.    }  
  57. }