使用php开发微信公众平台,在做关键字回复的时候遇到一个问题,使用if。else if语句没有问题,但是如果换成switch之后,公众平台修改配置的时候就提交不过去了,请问大家有遇到过这种情况吗?
下面是代码:
<code> if (strtolower( $postObj->MsgType ) == 'text') { switch ( trim($postObj->Content )) { case '电影': $contnet = '最近都没有看过什么电影,真的是没有什么时间啊。'; break; case '菜': $content = '最喜欢吃红烧肉了,真心不喜欢那些都是骨头和皮没有肉的荤菜。'; break; case '饮料': $content = '柠檬水,我感觉我对柠檬水上瘾了。' break; default: $content = '这不是我们设置的关键字,你再看看?'; break; } $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = 'text'; $template = "<xml> <tousername></tousername> <fromusername></fromusername> <createtime>%s</createtime> <msgtype></msgtype> <content></content> </xml>"; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; } </code>
使用php开发微信公众平台,在做关键字回复的时候遇到一个问题,使用if。else if语句没有问题,但是如果换成switch之后,公众平台修改配置的时候就提交不过去了,请问大家有遇到过这种情况吗?
下面是代码:
<code> if (strtolower( $postObj->MsgType ) == 'text') { switch ( trim($postObj->Content )) { case '电影': $contnet = '最近都没有看过什么电影,真的是没有什么时间啊。'; break; case '菜': $content = '最喜欢吃红烧肉了,真心不喜欢那些都是骨头和皮没有肉的荤菜。'; break; case '饮料': $content = '柠檬水,我感觉我对柠檬水上瘾了。' break; default: $content = '这不是我们设置的关键字,你再看看?'; break; } $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = 'text'; $template = "<xml> <tousername></tousername> <fromusername></fromusername> <createtime>%s</createtime> <msgtype></msgtype> <content></content> </xml>"; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; } </code>
少了分号
<code>case '饮料': $content = '柠檬水,我感觉我对柠檬水上瘾了。' break;</code>
碰到这种问题,一般提示语法错误。写代码认真仔细写,不要捉急。
syntax error 是很好定位的。仔细阅读报错提示。
第一。fromuser和touser用反
第二。逻辑分号