使用php开发微信公众平台,在做关键字回复的时候遇到一个问题,使用if。else if语句没有问题,但是如果换成switch之后,公众平台修改配置的时候就提交不过去了,请问大家有遇到过这种情况吗?
下面是代码:
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><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);
echo $info;
}
少了分号
碰到这种问题,一般提示语法错误。写代码认真仔细写,不要捉急。
syntax error 是很好定位的。仔细阅读报错提示。