switch.case语句调用时间参数程序出错求解决。
程序员文章站
2024-01-13 20:56:46
...
switch.....case语句以其高利率和高方便性成为我最常用的选择语句,stristr函数大家都知道吧,将这两个结合起来以当前时间做参数写语句是个不错的想法,调试时遇到问题,求解决:
date_default_timezone_set("Asia/ShangHai");
$h=date(" H:i");
echo $h;//输出当前时间;
switch($h){
case "12:00";//可以取任意时间,这里做调试用,随便取的;
if ($k="12:00");
if(stristr($k, $h) != "");
echo “成功”;
break;
case "12:01";
if ($k="12:01");
if(stristr($k, $h) != "");
echo "又成功了";
break;
default:
echo "失败";
}
?>
调试时屡屡出错,请解答,谢了
date_default_timezone_set("Asia/ShangHai");
$h=date(" H:i");
echo $h;//输出当前时间;
switch($h){
case "12:00";//可以取任意时间,这里做调试用,随便取的;
if ($k="12:00");
if(stristr($k, $h) != "");
echo “成功”;
break;
case "12:01";
if ($k="12:01");
if(stristr($k, $h) != "");
echo "又成功了";
break;
default:
echo "失败";
}
?>
调试时屡屡出错,请解答,谢了
回复讨论(解决方案)
date_default_timezone_set("Asia/ShangHai");$h=date(" H:i");echo $h;//输出当前时间;switch($h){ case "12:00";//可以取任意时间,这里做调试用,随便取的; if ($k == "12:00"); if(stristr($k, $h) != "");echo “成功”;break;case "12:01";if ($k == "12:01");if(stristr($k, $h) != "");echo "又成功了";break;default: echo "失败";}
你 $h=date(" H:i");
时间前面多了一个空格
所以不会进入形如 case "12:01"; 的任何分支,因为没有前导的空格
date_default_timezone_set("Asia/ShangHai");
$h=date(" H:i");
echo $h;//输出当前时间;
switch($h){
case "12:00";//可以取任意时间,这里做调试用,随便取的;
if ($k =="12:00");
if(stristr($k, $h) != "");
echo “成功”;
break;
case "12:01";
if ($k =="12:01");
if(stristr($k, $h) != "");
echo "又成功了";
break;
default:
echo "失败";
}
?>
你 $h=date(" H:i");
时间前面多了一个空格
所以不会进入形如 case "12:01"; 的任何分支,因为没有前导的空格
谢谢,你的回复是正确的,在调试时最怕这个,设计逻辑没问题,最后出现在书写格式上,头疼呀,看来还是基础不牢
呀。。再次感谢高手回复。