欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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 "失败";}

你 $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"; 的任何分支,因为没有前导的空格

谢谢,你的回复是正确的,在调试时最怕这个,设计逻辑没问题,最后出现在书写格式上,头疼呀,看来还是基础不牢
呀。。再次感谢高手回复。