In fact, the principle is very simple, that is, all the constellation month date range is stored in an array, and then according to the date to determine which range, so you get which constellation.
The following function is written in a relatively refined way, you can refer to the
function constellation ($month, $day) {
Checking parameter validity
if ($month <1| | $month >12| | $day <1| | $day >31) return false;
Constellation Name and start date
$constellations =array (
Array ("+" = "Aquarius"),
Array ("+" = "pisces"),
Array ("+" = "Aries"),
Array ("+" = "Taurus"),
Array ("+" = "Gemini"),
Array ("All" = "cancer"),
Array ("All" = "Leo"),
Array ("All" = "Virgo"),
Array ("All" = "Libra"),
Array ("+" = "Scorpio"),
Array ("+" = "Sagittarius"),
Array ("All" = "Capricorn")
);
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]);
}
return $constellation _name;
}
Source: http://www.lai18.com/content/312383.html
Share a PHP function that judges a constellation based on a specific date