PHP를 사용하여 WeChat 공개 플랫폼을 개발하다가 키워드 응답 및 if 사용 시 문제가 발생했습니다. else if 문에는 문제가 없지만, 스위치로 전환하면 구성 수정 시 퍼블릭 플랫폼을 제출할 수 없습니다. 혹시 이런 상황을 겪으신 분 계신가요?
코드는 다음과 같습니다.
<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를 사용하여 WeChat 공개 플랫폼을 개발하다가 키워드 응답 및 if 사용 시 문제가 발생했습니다. else if 문에는 문제가 없지만, 스위치로 전환하면 구성 수정 시 퍼블릭 플랫폼을 제출할 수 없습니다. 혹시 이런 상황을 겪으신 분 계신가요?
코드는 다음과 같습니다.
<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>
이런 종류의 문제가 발생하면 일반적으로 구문 오류가 발생합니다. 서두르지 말고 주의 깊게 코드를 작성하세요.
구문 오류는 쉽게 찾을 수 있습니다. 오류 메시지를 주의 깊게 읽으십시오.
먼저. Fromuser와 touser는 역
초를 사용합니다. 논리 세미콜론