В PHP оператор switch-case может использоваться с массивом в качестве управляющего выражения. Это позволяет сравнивать одно значение с несколькими возможными значениями. Вот несколько методов с примерами кода:
Метод 1: использование нескольких операторов if-else
$value = 'apple';
if ($value === 'apple') {
// Code for apple
} elseif ($value === 'banana') {
// Code for banana
} elseif ($value === 'orange') {
// Code for orange
} else {
// Default code
}
Метод 2. Использование оператора переключения регистра
$value = 'apple';
switch ($value) {
case 'apple':
// Code for apple
break;
case 'banana':
// Code for banana
break;
case 'orange':
// Code for orange
break;
default:
// Default code
break;
}
Метод 3. Использование массива и функции in_array()
$value = 'apple';
$fruits = ['apple', 'banana', 'orange'];
if (in_array($value, $fruits)) {
switch ($value) {
case 'apple':
// Code for apple
break;
case 'banana':
// Code for banana
break;
case 'orange':
// Code for orange
break;
}
} else {
// Default code
}
Метод 4. Использование ассоциативного массива для сопоставления значений
$value = 'apple';
$fruitCodes = [
'apple' => 1,
'banana' => 2,
'orange' => 3,
];
if (isset($fruitCodes[$value])) {
$fruitCode = $fruitCodes[$value];
switch ($fruitCode) {
case 1:
// Code for apple
break;
case 2:
// Code for banana
break;
case 3:
// Code for orange
break;
}
} else {
// Default code
}