¿es posible que una instrucción de cambio de PHP tome 2 argumentos? Por ejemplo:¿Puede una sentencia switch tomar dos argumentos?
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;
}
Muchas gracias, no he hecho PHP en años.
Si bien parece una solución decente, tanto '$ firstval' como' $ secondval' tendrían que ser de una longitud o tipo predefinidos. Creo que lo que estoy tratando de decir es que si el primero es "Y" y el segundo es "NNN" y en otro caso el primero es "SÍ" y el segundo "NN", no hay forma de distinguirlos como el valor concatenado será "YNNN". –
@Francois: puede introducir un separato para asegurarse de que los valores no estén mezclados. '$ firstVal. '|' . $ secondVal' y 'case 'YN | NN'' /' case' YY | NN'' (y así sucesivamente). – KingCrunch
Lo sé, es por eso que puse el disclamer. Pero esto aún puede funcionar si conoce un char que no puede estar en ninguna de esas variables. Solo pega eso entre ellos. Sin embargo, no escala bien, reemplazar con bloques simples if/else es probablemente mejor a largo plazo. – Mat