私の仕事は、誰かの誕生日を引数として返し、その年齢と、その誕生日があるかどうかをこの特定の方法で返すことができるようにすることです
getBirthDate('09/06/1992'); // returns array('age' => 21, 'birthday' => true);
ブール値を正しく機能させることはできません。これは、常に年齢を正しく返しますが、正しい日付であるかどうかに関係なく、常に「誕生日」を false として返すためです。
<?php
function getBirthDate($birthdate) {
$today =getdate();
$day =array($today["mon"], $today["mday"]);
$newBday = str_replace("/",",",$birthdate);
$birthDate = explode(",",$newBday);
$monthDay = array($birthDate["0"],$birthDate[1]);
$compared = array_diff($day,$monthDay);
if ($compared === "") {
$age = ($today["year"]-$birthDate["2"]);
$dateArray = array( "age" => "$age", "birthday" => "True");
return print_r ($dateArray);
}
else {
if ($monthDay[0] < $day[0]) {
$age = (($today["year"]-$birthDate["2"])-1);
$dateArray = array( "age" => "$age", "birthday" => "Fals");
return print_r($dateArray);
}
else {
$age = (($today["year"]-$birthDate["2"]));
$dateArray = array( "age" => "$age", "birthday" => "False");
return print_r($dateArray);
}
}
}
?>