Оператор switch..case не поддерживает строгое сравнение. Тем не менее, существует трюк, позволяющий обойти это ограничение.
<?php
switch (true) {
case $a === 1:
echo "a равно 1";
break;
case $a === 2:
echo "a равно 2";
break;
case $a === 3:
echo "a равно 3";
break;
}Кроме того, идею можно развить дальше и использовать более разнообразные условия внутри case:
<?php
switch (true) {
case $a === $b:
echo "a равно 1";
break;
case $c === false:
echo "a равно 2";
break;
case someLogic() === true:
echo "некая логика";
break;
case $var1 && $var2 || $var3:
echo "сложное условие";
break;
}