php - 比较不同数据类型的年份

php - compare years with different data types

我发现 ?year=2015 在我的网站上的工作方式与 ?year=2015sjkhdkfzgsfkzgsk 相同,当此 'year' 与数据库中的整数值进行比较时(MySQL YEAR 类型),有点像这样:

$year = Input::get('year');
$dbyear = Pic::find($id)->value('year');
if($year == $dbyear){
    //..
}

因为这似乎 return 正确:

var_dump(2015 == '2015abcdefg34748fhhdfgxfgfg');

这是正常现象还是可能是错误?我怎样才能更好地比较这些值?现在我在做:

$year = substr(Input::get('year'),0,4);

您可以强制参数为 string 数据类型:

 $year = strval(Input::get('year'));