当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP String strstr()用法及代码示例


strstr() 函数是 PHP 的内置函数。它是一个区分大小写的函数,用于查找字符串的第一次出现。 strstr() 主要用于搜索一个字符串在另一个字符串中的第一次出现,并从后者中前者的第一次出现开始显示后者的某些部分。

它是一个二进制安全函数,意味着可以在不修改文件内容的情况下对二进制文件执行的函数。 strstr() 函数类似于 stristr() 函数,但唯一的区别是 - stristr() 是不区分大小写的函数,而 strstr() 是区分大小写的。

注意:strstr() 是二进制安全区分大小写函数。

用法

PHP strstr() 函数的语法如下,包含三个参数。

stristr ($string, $search, $before_search)

参数

$string(必需):$string 是一个强制参数,用于指定要搜索的字符串。换句话说,它是在其中搜索 $search 值的主要字符串参数。

$search(必需):此函数的下一个必需参数是 $search。它指定将在 $string 参数中搜索的字符串。如果此参数包含数字或整数值而不是字符串,则它将搜索与该数字的 ASCII 值匹配的字符。

$before_search(可选):strstr() 函数的最后一个可选参数,指定布尔值,默认值为 FALSE。如果我们将其设置为 TRUE,那么它将返回第一次出现搜索参数之前的字符串部分。

返回值

PHP strstr() 返回剩余的字符串(从匹配点开始),否则如果找不到我们要搜索的字符串,它将返回 FALSE。

技术细节

PHP版本支持 PHP 4+ 版本支持此函数。
返回值 strstr() 返回字符串的其余部分,如果未找到搜索字符串,则返回 False。
ChangeLog
  • 在 strstr() 中,PHP 5.3 中添加了 $before_search 参数

strstr() 的例子

下面给出了一些例子,可以帮助我们学习这个函数的实际使用。

//Returns remaining string after search found
Input:
$string1 = "Hello! Good Morning everyone", $search1 = "Good";
Output: Morning everyone

//case-sensitive, returns nothing
Input:
$string = "Hello! Good Morning everyone ", $search = "HELLO ";
Output:							

//Returns initial string when search found
Input:
$string = "Hello! Good Morning everyone", $search = "Good", before_search = true;
Output: Hello!								

//Passing ASCII value of r which is 114
Input:
$string = "I want to travel the world ", $search = "114", before_search = true;
Output: I want to t

下面给出了一些详细的例子。借助这些例子,我们可以更好地理解这个函数的用法。

例子1

这是 strstr() 的一个简单示例,它表明它是一个区分大小写的函数,因此如果字符串不匹配,则返回 FALSE。它将从 $search 变量在字符串中找到的位置返回字符串的其余部分。

<?php 
	$string = "Welcome to javaTpoint";
	$search1 = "e";
	echo strstr($string, $search1);
	
	echo '</br>';
	$search2 = "JAVA";			//case-sensitive
	var_dump(strstr($string, $search2));
	
	echo '</br>';
	var_dump(strstr($string, "WeLcOmE"));
?>

输出:

PHP String strstr() function

例子2

在下面的示例中,我们将使用第三个参数 $before_search,其默认值为 FALSE。在这里,我们将其设置为 TRUE,这将返回 $search 参数第一次出现之前的字符串部分。如果未找到搜索字符串,则它将返回布尔值 false。

<?php 
$string = "Welcome to javaTpoint website.";
	$before_search = true;
	$search1 = "a"; 
	echo strstr($string, $search1, $before_search);
	
	echo '</br>';
	$search2 = "E";
	var_dump(strstr($string, $search2, $before_search));
	
	echo '</br>';
	$search3 = "nt";
	echo strstr($string, $search3, $before_search);
?>

输出:

PHP String strstr() function

例子3

我们还可以在 $search 参数中传递一个整数值而不是字符串或字符。该整数值被视为 ASCII 值并转换为字符。在这个例子中,我们将在 $search 中传递一个整数。

<?php 
	//119 is the ASCII value of lowercase w
	echo strstr("There are seven wonders in the world.", 119, true);	
	echo '</br>';
	
	//84 is the ASCII value of uppercase T
	var_dump(strstr("There are seven wonders in the world.", 84));		
	echo '</br>';

	//79 is the ASCII value of uppercase O
	var_dump(strstr("There are seven wonders in the world.", 79));	
?>

输出:

PHP String strstr() function

注意:var_dump() 函数主要用于在浏览器上显示布尔值。除了布尔值之外,它还显示参数的数据类型和该参数中可用的字符数,如上例所示。 Echo 不足以打印这些信息。







相关用法


注:本文由纯净天空筛选整理自 PHP String strstr() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。