Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有2个值的PHP开关_Php_Compare_Switch Statement - Fatal编程技术网

带有2个值的PHP开关

带有2个值的PHP开关,php,compare,switch-statement,Php,Compare,Switch Statement,是否有一种方法可以使用2个值切换php的开关?这是我要找的 switch(a, b){ case 1,2: some code... ; break; case 3,4: some code... ; break; case 3,6: some code... ; break; case 5,2: some code... ; break; case 1,3: some code... ; break; case 8,5: some code...

是否有一种方法可以使用2个值切换php的
开关
?这是我要找的

switch(a, b){
    case 1,2: some code... ; break;
    case 3,4: some code... ; break;
    case 3,6: some code... ; break;
    case 5,2: some code... ; break;
    case 1,3: some code... ; break;
    case 8,5: some code... ; break;
}

我知道这行不通,那么我该如何按照这些思路做一些事情呢?

如果处理不繁重,您可以使用一些字符串:

$variable= "1,2";

switch($variable){
    case "1,2": some code... ; break;
    case "3,4": some code... ; break;
    case "3,6": some code... ; break;
    case "5,2": some code... ; break;
    case "1,3": some code... ; break;
    case "8,5": some code... ; break;
}

您可以使用包含2个元素的数组,因为比较检查数组值:

$a = 3;
$b = 6;

switch([$a, $b]){
    case [1, 2]: echo '1'; break;
    case [3, 4]: echo '2'; break;
    case [3, 6]: echo '3'; break;
    case [5, 2]: echo '4'; break;
    case [1, 3]: echo '5'; break;
    case [8, 5]: echo '6'; break;
}

输出
3

完美,有意义。谢谢你。@wes:是的,我觉得PaulPRO的答案更准确。我的只是我分享的另一种可能性:)这不是最好的解决方案,但它会起作用。所以请投我一票。