Я всегда отказывался от ответов stackoverflow и любого прочтения о том, что "==="
превосходит "=="
, потому что используется более строгое сравнение, и вы не тратите ресурсы на преобразование типов значений для проверки совпадения.
Я могу прийти к этому с неправильным предположением, поэтому я предполагаю, что часть этого вопроса такова: «Верно ли мое предположение?»
Во-вторых,
Я имею дело именно с ситуацией, когда я получение данных из базы данных в виде строки «100»
.
Я сравниваю такой код ...
if ($this->the_user->group == 100) //admin
{
Response::redirect('admin/home');
}
else // other
{
Response::redirect('user/home');
}
vs.
if ( (int) $this->the_user->group === 100) //admin
{
Response::redirect('admin/home');
}
else // other
{
Response::redirect('user/home');
}
или даже
if (intval($this->the_user->group) === 100) //admin
{
Response::redirect('admin/home');
}
else // other
{
Response::redirect('user/home');
}
- это какая-либо целостность (или производительность), полученная путем ручного преобразования или преобразования просто, чтобы вы могли использовать сравнение идентичности ( '==='
)?