تست:
<?php

$v=0;

switch($v) {

case 'hello':
echo 'hello';
break;
case 'goodbye':
echo 'goodbye';
break;
default:
echo 'default';
break;

}

?>

خروجی: hello

این رفتار غیرمنتظره switch دیشب در برنامم یه باگ ایجاد کرده بود که قدم به قدم تست کردم تا رسیدم به switch و فهمیدم جریان چیه!

من switch رو به این شکل تغییر دادم تا دیگه نظیر چنین مواردی رخ ندن:
<?php

$v=0;

switch("$v") {

case 'hello':
echo 'hello';
break;
case 'goodbye':
echo 'goodbye';
break;
default:
echo 'default';
break;

}

?>