使用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 = " %s %s %s %s %s "; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; }
回複內容:
使用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 = " %s %s %s %s %s "; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; }
少了分號
case '飲料': $content = '檸檬水,我感覺我對檸檬水上癮了。' break;
碰到這種問題,一般提示法錯誤。寫代碼認真仔細寫,不要捉急。
syntax error 是很好定位的。仔細閱讀報錯提示。
第一。fromuser和touser用反
第二。邏輯分號