PHP 字符串 String strrpos() 函数
strrpos() 是 PHP 的内置函数,用于在另一个字符串中查找子字符串最后出现的位置。这是一个 区分大小写的 函数,它区分大写和小写字符。
strrpos() 与 strripos() 类似,它们都用于在另一个字符串中查找子字符串最后出现的位置,但是 strripos() 是一个 不区分大小写的 函数,而 strrpos() 是一个 区分大小写的 函数。PHP 4+ 版本支持此函数。
有一些与 strrpos() 函数类似的相关函数:
相关函数
- stripos() – 在另一个字符串中查找子字符串的第一次出现。(不区分大小写)
- strpos() – 在另一个字符串中查找子字符串的第一次出现。(区分大小写)
- strripos() – 在另一个字符串中查找子字符串最后出现的位置。(不区分大小写)
语法
下面是 strrpos() 函数的语法:
strrpos (string,search, $start)
参数
strrpos()函数接受三个参数,其中两个是必需的,即主字符串和搜索字符串。第三个参数是可选的,即$start,用于指定从哪里开始搜索字符串。
$string(必需)- 这是一个必需的参数,我们在其中搜索$search字符串的出现。
$search(必需)- 这也是一个必需的参数,用于指定要搜索的字符串。
$start(可选)- 这是该函数的最后一个可选参数,用于指定从哪里开始搜索。该参数的值为整数。
返回值
strrpos()函数 返回子字符串的位置 。如果未找到字符串,则返回 FALSE 。
需要注意的是,字符串位置从0开始,而不是从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 ); echores1."</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 ); echores1."</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: 通过使用length参数
<?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