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