Czy jest możliwe, aby instrukcja switcha PHP przyjęła 2 argumenty? Na przykład:Czy instrukcja switch może przyjmować dwa argumenty?
switch (firstVal, secondVal){
case firstVal == "YN" && secondVal == "NN":
thisDesc = "this is the outcome: YN and NN";
break;
case firstVal == "YY" && secondVal == "NN":
thisDesc = "this is the outcome: YY and NN";
break;
}
Wielkie dzięki, nie robiłem PHP od lat!
Chociaż wygląda na przyzwoite rozwiązanie, zarówno '$ firstval' i' $ secondval' muszą mieć predefiniowaną długość lub typ. Myślę, że próbuję powiedzieć, że jeśli pierwszym jest "Y", a drugim jest "NNN", aw innym przypadku pierwszym jest "YN", a drugim "NN", nie sposób je odróżnić ponieważ połączona wartość będzie "YNNN". –
@Francois: Możesz wprowadzić separato, aby upewnić się, że wartości nie są pomieszane. '$ firstVal. "|" . $ secondVal' i 'case 'YN | NN'' /' case' YY | NN'' (i tak dalej). – KingCrunch
Wiem, dlatego włożyłem disclamer. Ale może to nadal działać, jeśli znasz znak, który nie może być w żadnej z tych zmiennych. Po prostu wtykaj to między nimi. Nie skaluje się jednak dobrze, zastępując zwykłymi blokami, jeśli/else jest prawdopodobnie lepszy na dłuższą metę. – Mat