if($InboundTextBody === 'Help' OR 'help'){
echo 'help';
}
elseif($InboundTextBody === 'Reset'){
echo 'send reset message';
}
elseif($InboundTextBody === 'Start'){
echo 'send start message';
}
if($InboundTextBody === 'Help' || 'help'){
echo 'help';
}
如果我的$ InboundTextBody有单词帮助。它将回应帮助。如果$ InboundTextBody有单词Reset,它仍然是echo help。它从不回复重置。 我需要或者在我的声明中,以防$ InboundTextBody文本包含案例或小写文本
答案 0 :(得分:2)
IF
的正确语法是
if($InboundTextBody === 'Help' OR $InboundTextBody === 'help'){
或者您可以将全部转换为小写并执行
if(strtolower($InboundTextBody) === 'help'){
答案 1 :(得分:1)
您可以使用函数strtolower来避免检查UPPER和LOWER情况。
if(strtolower($InboundTextBody) === 'help')
顺便说一句,正确的IF
形式是:
if($InboundTextBody === 'Help' OR $InboundTextBody === 'help')
答案 2 :(得分:0)
一种方法是使用内置的不区分大小写的字符串比较函数strcasecmp
。 (php.net doc here)
if (strcasecmp($InboundTextBody, 'help') == 0) {
echo 'help';
} elseif (strcasecmp($InBoundTextBody, 'reset') == 0) {
echo 'reset';
}
请注意,strcasecmp
的结果如果相同则为0
。
请注意,在您的解决方案中,if($InboundTextBody === 'Help' || 'help')
不会检查$InboundTextBody
是什么。它只会检查它是否为“帮助”,但在||
之后,您的等效值为:if ('help')
,它将始终返回true,因为'help'
不是假的(例如,不是0或null)。