-3

我试图找出一个字符串是否包含在一个字符串中,但它总是正确的。为什么这总是正确的

<?php

$test = 'ORDER BY `views`';
if(strpos($test,'views') !== true) echo 'true';
else echo 'false';

?>
4

2 回答 2

3

您使用的参数strpos()不正确。

您正在使用strpos($needle, $haystack),但实际上应该是strpos($haystack, $needle)

请注意,如果在大海捞针中找不到针,则strpos()返回。FALSE因此,您需要检查它是否返回FALSE(而不是TRUE)。

使用您的代码,它变为:

if(strpos($test, 'views') !== FALSE) 
    echo 'true';
else 
    echo 'false';

演示!

于 2013-10-08T12:43:31.740 回答
-1

检查这个

 $test = 'ORDER BY `views`';
   if (strpos($test,'views') !== false) {
        echo 'true';
    } else {
        echo 'false';
    }

也使用

您可以使用这些字符串函数,

strstr — 查找第一次出现的字符串

strstr - 不区分大小写的 strstr()

strrchr — 查找字符串中最后一次出现的字符

strpos — 查找字符串中子字符串第一次出现的位置

strpbrk — 在字符串中搜索任何一组字符

如果那没有帮助,那么您应该使用preg正则表达式

preg_match — 执行正则表达式匹配

于 2013-10-08T13:08:46.577 回答