ich meist das Schaltergehäuse für String-Werte verwenden. Kann jemand bestätigen, ob sie für die Gleichheit komplexer Objekte verwendet werden können und ob die Objekte auch verschieden sind? Wie Sie sehen können, überprüfe ich nicht immer obj1 == andere Objekte. Beide Objekte können sich ändern. Kann mir jemand sagen, was wäre die richtige Syntax dafür, wenn es erlaubt ist? Ich bin mir nicht sicher was ich als switch() eingeben würde.Schalter für verschiedene Objekte zu vergleichen
if ($obj1 == $obj9)
elseif ($obj5 == $obj9)
elseif ($obj5 == $obj1)
else
neuer Code, wäre das korrekt?
switch (true){
case $obj1 == $obj9:
//do something
break;
case $obj5 == $obj9:
//do something
break;
case $obj5 == $obj1:
//do something
break;
case default:
//do something
break;
}
Da Sie vergleicht drei Objekte miteinander, die nicht in einem Schalter passen würde, es sei denn du hast 'Schalter (true)' (das nicht das, was das Konstrukt für beabsichtigt war). Ihr if-elseif-else scheint der richtige Weg zu sein. – BoltClock
@BoltClock, meinst du wie der Code, den ich hinzugefügt habe? Was würde passieren, wenn ich switch (true) verwenden würde, auch wenn das nicht beabsichtigt war? – silow
Es wird funktionieren (btw 'default:' 'nicht Fall default:') trotzdem. Ich machte nur weiter, wie wenn - Sonst mehr Sinn machen würde als ein Schalter. Siehe Kel's Antwort für warum. – BoltClock