>백엔드 개발 >PHP 튜토리얼 >switch.case语句调用时间参数程序出错求解决。

switch.case语句调用时间参数程序出错求解决。

WBOY
WBOY원래의
2016-06-23 13:58:57994검색

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.