Als ich PHP zur Entwicklung der öffentlichen WeChat-Plattform verwendete, stieß ich auf ein Problem bei der Durchführung von Schlüsselwortantworten und verwendete if. Es gibt kein Problem mit der else if-Anweisung, aber wenn sie auf „switch“ umgestellt wird, kann die öffentliche Plattform beim Ändern der Konfiguration nicht übermittelt werden. Ist jemand auf diese Situation gestoßen?
Hier ist der Code:
<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>