📅  最后修改于: 2023-12-03 14:45:27.924000             🧑  作者: Mango
在PHP中,有两个内置函数可以用于搜索一个字符串中是否包含另一个字符串:stristr()
和strstr()
。这两个函数表面上看起来很相似,但是它们之间有一些区别。
strstr()
strstr()
函数用于在一个字符串中查找另一个字符串,并返回第一个匹配到的字符串及其后面的所有字符。
stristr()
stristr()
函数和strstr()
函数一样,也用于在一个字符串中查找另一个字符串。但是,不同的是,stristr()
函数是不区分大小写的,也就是说,在查找匹配字符串时,它会忽略字符串中字母的大小写。
两个函数的参数都相同:
haystack
:必需参数,要在其中查找的字符串。needle
:必需参数,要查找的字符串。如果needle
是空字符串,则strstr()
返回haystack
中的全部字符串。如果needle
没有找到,则返回false
。两个函数的返回值也有所不同:
strstr()
如果找到了匹配的字符串,则返回该字符串及其后面的所有字符串。如果没有找到,则返回false
。
$str = "I love PHP programming";
echo strstr($str, "love"); // 输出 "love PHP programming"
echo strstr($str, "Hate"); // 输出 false
stristr()
如果找到了匹配的字符串,则返回该字符串及其后面的所有字符串。如果没有找到,则返回false
。
$str = "I love PHP programming";
echo stristr($str, "php"); // 输出 "PHP programming"
echo stristr($str, "Hate"); // 输出 false
最大的区别就是stristr()
函数不区分大小写,而strstr()
函数区分大小写。举个例子:
$str = "I love PHP programming";
echo strstr($str, "php"); // 输出 false
echo stristr($str, "php"); // 输出 "PHP programming"
在上面的例子中,因为strstr()
区分大小写,所以在 $str
中找不到 "php"
,返回了false
,而stristr()
函数不区分大小写,所以在 $str
中找到了 "PHP programming"
。
虽然stristr()
函数具有不区分大小写的优点,但是由于相应的字符串比较需要更多的计算量,因此在性能上相对较低。
strstr()
函数。stristr()
函数。以上是stristr()
和strstr()
函数的区别。根据具体的情况,选择合适的函数使用。