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


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


strrpos() 是 PHP 的内置函数,用于查找子字符串在另一个字符串中最后一次出现的位置。它是 PHP 的区分大小写的函数,这意味着它以不同的方式处理大写和小写字符。

strrpos() 类似于 strripos(),它也用于查找另一个字符串中最后一次出现的子字符串,但 strripos() 是一个不区分大小写的函数,而 strrpos() 是一个区分大小写的函数。 PHP 4+ 版本支持此函数。

PHP 的一些相关函数类似于 strrpos() 函数:

相关函数

  • stripos() - 它在另一个字符串中找到一个字符串的第一次出现。 (不区分大小写)
  • strpos() - 它在另一个字符串中找到一个字符串的第一次出现。 (区分大小写)
  • strripos() - 它在另一个字符串中找到最后一次出现的字符串。 (不区分大小写)

用法

以下函数 strrpos() 的语法是:

strrpos ($string, $search, $start)

参数

strrpos() 函数接受三个参数,其中两个是强制性的,即主字符串和搜索字符串。第三个参数是可选的,即 $start,我们从这里开始搜索字符串。

$string (required) - 这是一个强制参数,我们在其中搜索 $search 字符串的出现。

$search(必需) - 它也是一个强制参数,用于指定要搜索的字符串。

$start (optional) - 它是这个函数的最后一个可选参数,它指定从哪里开始搜索。此参数具有整数值。

返回值

strrpos() 函数返回子字符串在另一个字符串中最后一次出现的位置。如果未找到该字符串,则它将返回 FALSE。

It is important to note that the string position starts from 0, not from 1.

变更日志

  • PHP 5.0 在 strrpos() 函数中包含了一个新参数 $start,它定义了从哪里开始搜索。
  • PHP 5.0 之后,我们还可以在 $search 参数中传递一个字符串,而不是只传递单个字符。

例子

有一些详细的例子来学习 strrpos() 函数的函数。这些示例将提供此函数的基本知识。

例子1

下面是 strrpos() 的基本示例:

<?php
	$string = "Hello! I'm Mishti Agrawal";
	$search ='gra';
	$output1 = strripos( $string, $search );	
	echo "The last occurrence of the search string is found at position:".$output1;
?>

输出:

上述程序的输出将是-

The last occurrence of the search string is found at position:19

例子2

<?php
	$string = "Hello everyone! Welcome to javaTpoint";
	$search ='l';
	$output1 = strripos( $string, $search );	
	echo "The last occurrence of the search string is found at position:".$output1;
?>

输出:

在上面的这个例子中,"l" 的最后一次出现是 16。

The last occurrence of the search string is found at position:16

范例3:区分大小写

<?php
	$string = "Welcome to javaTpoint";
	$search ='COME';
	$res1 = strripos( $string, $search );	
	echo $res1."</br>";
	echo "Search string is not found, so it returned:";
	var_dump($res1);
?>

输出:

这个例子证明了 strrpos() 是一个区分大小写的函数,因为它对 "COME" 和 "come" 的处理不同。上述程序的输出将是-

Search string is not found, so it returned:bool(false)

示例 4

在此示例中,搜索字符串在主字符串中不可用,因此它将返回布尔值 FALSE。

<?php
	$string = "Welcome to javaTpoint";
	$search ='misthi';
	$res1 = strripos( $string, $search );	
	echo $res1."</br>";
	echo "Search string is not found so it returned:";
	var_dump($res1);
?>

输出:

Echo 不足以显示布尔值,因此我们使用 var_dump() 函数打印该布尔值 FALSE。

Search string is not found so it returned:bool(false)

例 5

下面的示例包含 if-else 条件。如果未找到字符串,则显示未找到搜索字符串,否则,将显示搜索字符串最后一次出现的位置。

<?php
	$string = "Welcome to javaTpoint";
	$search1 ='cml';
	$search2="ome";
	$res1 = strrpos( $string, $search1);	
	if($res1==false)
		echo "Sorry! <b>". $search1. "</b> is not found in the string";
	else
		echo "The following search string <b>". $search1. "</b> find at position:".$res1;
	
	echo '</br>';
	$res2 = strrpos( $string, $search2);	
	if($res2==false)
		echo "Sorry! string is not found";
	else
		echo "The following search string <b>". $search2. "</b> is found at position:".$res2;
?>

输出:

Sorry! cml is not found in the string
The following search string ome is found at position:4

范例6:通过使用长度参数

<?php
	
	$string = "Welcome to javaTpoint";
	$search2="Wel";
	 $position = strrpos($string, $search2, 7);   
    	if ($position == true){ 
        		echo "Found at position " . $position; 
   	 } 
    	else{ 
      		  echo "Search string is not found."; 
  	  }
?>

输出:

在上面的例子中,"Wel" 出现在主字符串中;它仍然显示“未找到搜索字符串”的输出。这是因为搜索是从第 7 位开始,而 "Wel" 在第 1 位可用。

Search string is not found.

例 7

<?php
	$string = "Welcome to javaTpoint";
	$search="ava";
	 $position = strripos($string, $search, 4);   
    	if ($position == true){ 
        		echo $search. " is found at position " . $position; 
   	 } 
    	else{ 
      		  echo "Search string not Found"; 
  	  }
?>

输出:

在上面的例子中,strrpos() 从 4 开始搜索th位置。它在 12 处找到了搜索字符串th位置。

ava is found at position 12






相关用法


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