PHP переключатель с 2 значениями

есть ли способ для php SWITCH но с 2 значения? Вот что я ищу

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;
}

Я знаю, что это не сработает, так как бы я сделал что-то в этом роде?

2 ответов


вы можете использовать массив с 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.


вы можете использовать некоторую строку, если это не тяжелая обработка:

$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;
}