令人驚恐的php switch
當$in = 0 的時候竟然跑進去+1了?!…
$in = isset($_GET['in']) ? (int)$_GET['in'] : 0;
$out = 0;
var_dump($in);
switch ($in) {
// case $in = 0:
// break;
case $in >=1 && $in <=4: $out++; break; case $in >=5 && $in <=8:
$out--;
break;
default:
break;
}
echo $out;

經過高人指示
$in = isset($_GET['in']) ? (int)$_GET['in'] : 0;
$out = 0;
var_dump($in);
switch (true) {
// case $in = 0:
// break;
case $in >=1 && $in <=4:
$out++;
break;
case $in >=5 && $in <=8:
$out--;
break;
default:
break;
}
echo $out;
直接改成 switch (true)
變成 true == true 的比較 就可以囉