【发布时间】:2013-09-11 03:29:58
【问题描述】:
我的任务是能够以某人的生日作为参数,并以这种特定方式返回年龄以及是否生日
getBirthDate('09/06/1992'); // 返回数组('age' => 21, 'birthday' => true);
我无法让布尔值正常工作,因为即使 if 语句为真,它也总是返回 else 语句。
<?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);
return True;
}
else{
if ($monthDay[0] < $day[0]){
$age = (($today["year"]-$birthDate["2"])-1);
$dateArray = array( "age" => "$age", "birthday" => "False");
return print_r($dataArray);
return True;
}
else{
$age = (($today["year"]-$birthDate["2"]));
$dateArray = array( "age" => "$age", "birthday" => "False");
return print_r($dateArray);
return True;
}
}
}
getBirthDate("9/6/1993")
?>
【问题讨论】:
-
你为什么要一个接一个地使用双
returns?!当return代码被执行时,php 将停止执行函数的其余部分。 -
看,你被否决了,因为你没有解释你需要什么帮助。
-
不,因为这个问题既不是问题也不是可理解的陈述。
-
对不起,我没有意识到我把它剪短了。我对其进行了编辑以进行更多解释。
标签: php arrays if-statement