试图查找字符串是否包含字符串

时间:2013-10-08 12:41:58

标签: php string

我正在尝试查找字符串中是否包含字符串,但它始终为true。为什么这总是如此

<?php

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

?>

2 个答案:

答案 0 :(得分:3)

您错误地使用了strpos()的参数。

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

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

使用您的代码,它变为:

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

Demo!

答案 1 :(得分:-1)

检查这个

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

也可以使用

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

strstr - 查找第一个字符串

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

strrchr - 查找字符串中最后一个字符

strpos - 查找字符串

中第一次出现子字符串的位置

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

如果这没有用,那么你应该使用preg正则表达式

preg_match - 执行正则表达式匹配