Ich habe aus den Stackoverflow-Antworten und jeder Lektüre, die ich gemacht habe, immer mitgenommen, dass "==="
ist besser als "=="
weil ein strengerer Vergleich verwendet wird und Sie keine Ressourcen für die Konvertierung von Werttypen verschwenden, um auf eine Übereinstimmung zu prüfen.
Vielleicht gehe ich von einer falschen Annahme aus, daher nehme ich an, dass ein Teil dieser Frage lautet: "Stimmt meine Annahme?"
Zweitens,
Ich habe es speziell mit einer Situation zu tun, in der ich Daten aus einer Datenbank in Form einer Zeichenfolge abrufe "100"
.
Der Code, den ich vergleiche, ist dieser...
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');
}
oder sogar
if (intval($this->the_user->group) === 100) //admin
{
Response::redirect('admin/home');
}
else // other
{
Response::redirect('user/home');
}
ist die Integrität (oder Leistung), die durch manuelles Casting oder Konvertierung gewonnen wird, nur damit Sie die Identität ( '==='
) Vergleich?