Как сделать php switch case проверкой типа?

Я хочу, чтобы переключить случай с === скорее, чем ==,

<?php
$favcolor = "1";

switch ($favcolor) {
case 1:
echo "Your favorite color is red!";
break;
case "blue":
echo "Your favorite color is blue!";
break;
case "1":
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>

Это дает мне:

Your favorite color is red!

Но я хочу сказать, что зеленый. Как это возможно?

0

Решение

От https://secure.php.net/manual/en/control-structures.switch.php

Обратите внимание, что переключатель / случай делает слабое сравнение.

Вы не можете добиться этого с помощью switch, рассмотрите возможность использования if — elseif — else в таких случаях, как:

if ( $favcolor === 1 )
echo "Your favorite color is red!";
elseif ( $favcolor === "blue" )
echo "Your favorite color is blue!";
elseif ( $favcolor === "1" )
echo "Your favorite color is green!";
else
echo "Your favorite color is neither red, blue, nor green!";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]