PHP确定客户年龄

PHP确定客户年龄,php,Php,我在努力确保我的顾客都超过18岁了。到目前为止,我通过记录出生日期和当前数据并找出两者之间的差异来做到这一点 $diff=date_diff(date_create($DOB),date_create(date("Y-m-d"))); echo $diff->format("%R%a days"); if ($diff<6574){ $D_error="You must be ages 18+ to make a booking"; } $diff=date_diff(da

我在努力确保我的顾客都超过18岁了。到目前为止,我通过记录出生日期和当前数据并找出两者之间的差异来做到这一点

$diff=date_diff(date_create($DOB),date_create(date("Y-m-d")));
echo $diff->format("%R%a days");
if ($diff<6574){
    $D_error="You must be ages 18+ to make a booking";
}
$diff=date_diff(date_create($DOB),date_create(date(“Y-m-d”));
echo$diff->格式(“%R%a天”);
如果($diffdays<6574){{
$D_error=“您必须年满18岁才能预订”;
}
}

但有了这个,我得到了一个意外的文件结尾。

$diff
是一个对象,您无法将对象与整数进行比较。 您要查找的是对象的
days
属性

您的比较应该如下所示:

if($diff->days < 6574)
    //...

date_diff返回具有公共属性days的DateInterval。所以试试这个

if ($diff->days < 6574){
    $D_error="You must be ages 18+ to make a booking";
}
if($diff->days<6574){
$D_error=“您必须年满18岁才能预订”;
}

问题在于if语句。Date_diff函数返回DateInterval对象()的实例,因此不能将其与整数进行比较。使用DateInterval对象的任何属性,例如$days,甚至$y(years),例如:

if ($diff->y < 18)
if($diff->y<18)

您应该使用
if($diff->format(“%R%a”)<6574{
。我试过了,但我只是得到了一个意外的文件结尾
if ($diff->days < 6574){
    $D_error="You must be ages 18+ to make a booking";
}
if ($diff->y < 18)