我有一个属于类或库的函数,该函数会将用户的生日发送到数据库。出于某种原因,保存该信息($this->birthdate)的变量正在发送一个0000-00-00值,而不是实际的生日。

这是我的示例代码:

function isAgeValid(){

     $birthDate1=$this->birth_year.'-'.$this->birth_month.'-'.$this->birth_day;
     $birthDate1 = explode("-", $birthDate1);
     $age = (date("md", date("U", mktime(0, 0, 0, $birthDate1[0], $birthDate1[1], $birthDate1[2]))) > date("md")
            ? ((date("Y")-$birthDate1[2])-1):(date("Y")-$birthDate1[2]));
    $this->birthdate=($birthDate1);

    return ($age > 17);
}

最佳答案

$birthDate1=$this->birth_year.'-'.$this->birth_month.'-'.$this->birth_day;
 $birthDate1 = explode("-", $birthDate1);


这只是没有意义,我的猜测是第二行会导致您的问题。
后来你有

$this->birthdate=($birthDate1);


因此,生日的数组不是带日期的字符串。

关于php - 在函数中分配日期后,PHP变量的值为0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13736422/

10-09 17:06