0
Я обнаружил, что ?year=2015
работает на моем сайте, так же, ?year=2015sjkhdkfzgsfkzgsk
делает, когда этот «год» сравнивается с целым значением из базы данных (тип MySQL YEAR), как-то так :php - сравнить годы с разными типами данных
$year = Input::get('year');
$dbyear = Pic::find($id)->value('year');
if($year == $dbyear){
//..
}
, потому что это, кажется, возвращает истину:
var_dump(2015 == '2015abcdefg34748fhhdfgxfgfg');
Является ли это нормальным или, возможно, ошибка? Как лучше сравнить эти значения? Теперь я делаю:
$year = substr(Input::get('year'),0,4);
Это [документированы] (http://php.net/manual/en/language.types. string.php # language.types.string.conversion): * «Значение задается начальной частью строки. Если строка начинается с действительных числовых данных, это будет используемое значение.» * (через [операторы сравнения ] (http://php.net/manual/en/language.operators.comparison.php)). – Kenney