我试图找出一个字符串是否包含在一个字符串中,但它总是正确的。为什么这总是正确的
<?php
$test = 'ORDER BY `views`';
if(strpos($test,'views') !== true) echo 'true';
else echo 'false';
?>
您使用的参数strpos()
不正确。
您正在使用strpos($needle, $haystack)
,但实际上应该是strpos($haystack, $needle)
请注意,如果在大海捞针中找不到针,则strpos()
返回。FALSE
因此,您需要检查它是否返回FALSE
(而不是TRUE
)。
使用您的代码,它变为:
if(strpos($test, 'views') !== FALSE)
echo 'true';
else
echo 'false';
检查这个
$test = 'ORDER BY `views`';
if (strpos($test,'views') !== false) {
echo 'true';
} else {
echo 'false';
}
也使用
您可以使用这些字符串函数,
strstr — 查找第一次出现的字符串
strstr - 不区分大小写的 strstr()
strrchr — 查找字符串中最后一次出现的字符
strpos — 查找字符串中子字符串第一次出现的位置
strpbrk — 在字符串中搜索任何一组字符
如果那没有帮助,那么您应该使用preg
正则表达式
preg_match — 执行正则表达式匹配