我想查看变量是否包含与硬编码列表中的几个值之一匹配的值。我正在使用以下内容,但最近发现它在某处存在缺陷:
if (preg_match("/^(init)|(published)$/",$status)) {
echo 'found';
} else {
echo 'nope';
}
我发现如果变量 $status 包含单词“未发布”,即使列表中没有“未发布”,仍然存在匹配项,可能是因为“未发布”一词包含“已发布”,但我认为 ^ 和正则表达式中的 $ 应该强制匹配整个单词。任何想法我做错了什么?