php中strstr、strrchr、substr、stristr四个函数的区别总结

当你在PHP中需要处理字符串的时候,这四个函数是给你最常用的工具。

当你在PHP中需要处理字符串的时候,这四个函数是给你最常用的工具。

strstr函数

示例代码:

$email  = 'john@example.com';
$domain = strstr($email, '@');
echo $domain; // 输出 @example.com

类似于 strchr() 函数, strstr() 函数在一个字符串中找到一个子字符串,并返回子字符串之后的所有内容。 这个函数区分大小写。如果没找到子字符串,那么返回 false

strrchr函数

示例代码:

$email  = 'john@gmail.com';
$domain = strrchr($email, '@');
echo $domain; // 输出 @gmail.com

strrchr() 函数也是在一个字符串中找到一个子字符串,并返回这个子字符串回包括到字符串结尾的所有内容。但是不像 strstr() ,这个函数会查找最后一个出现的子字符串。而且也会返回一个字符串结尾的子字符串。同样,如果没找到子字符串,那么返回 false

substr函数

示例代码:

$str = 'abcdef';
echo substr($str, 1);     // 输出 bcdef
echo substr($str, 1, 3);  // 输出 bcd
echo substr($str, -3, 2); // 输出 de

当你需要从一个字符串中截取一段的时候, substr() 这个函数就变得非常有用了。它允许你访问一个字符串的任何部分。你需要传递一个起始点和一个长度作为参数。如果你使用的是负数的长度,那么子字符串会被截取到字符串结尾的位置。

stristr函数

示例代码:

$my_email  = 'john@example.com';
$findme    = '@';
$pos       = strstr($my_email, $findme);
echo $pos; // 输出 @example.com

$my_email2 = 'john@example.com';
$findme2   = 'Ex';
$pos2      = stristr($my_email2, $findme2);
echo $pos2; // 输出 example.com

这个函数类似于 strstr() 函数,但是不区分大小写。此外, stristr() 函数会返回子字符串到字符串结尾的内容,而不是返回子字符串之后的内容。

综上,这些函数可以让你轻松地处理字符串并搜索它们,你可以根据你需要的精度来选择一个。

本文标题为:php中strstr、strrchr、substr、stristr四个函数的区别总结

基础教程推荐