使用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><![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; } </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><![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; } </code>
少了分號
<code>case '饮料': $content = '柠檬水,我感觉我对柠檬水上瘾了。' break;</code>
碰到這種問題,一般提示文法錯誤。寫程式認真仔細寫,不要捉急。
syntax error 是很好定位的。仔細閱讀報錯提示。
第一。 fromuser和touser用反
第二。邏輯分號