strripos
strspn
String Functions
PHP Manual

# strrpos

Find the position of the last occurrence of a substring in a string

### Description

int strrpos ( string `$haystack` , string `$needle` [, int `$offset` = 0 ] )

Find the numeric position of the last occurrence of `needle` in the `haystack` string.

### Parameters

`haystack`

  The string to search in.

`needle`

  If `needle` is not a string, it is converted to an integer and applied as the ordinal value of a character.

`offset`

  If specified, search will start this number of characters counted from the beginning of the string. If the value is negative, search will instead start from that many characters from the end of the string, searching backwards.

### Return Values

Returns the position where the needle exists relative to the beginnning of the `haystack` string (independent of search direction or offset). Also note that string positions start at 0, and not 1.

Returns `FALSE` if the needle was not found.

Warning

This function may return Boolean `FALSE`, but may also return a non-Boolean value which evaluates to `FALSE`. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

### Changelog

Version | Description
--- | ---
5.0.0 | The `needle` may now be a string of more than one character.
5.0.0 | The `offset` parameter was introduced.

### Examples

Example #1 Checking if a needle is in the haystack

It is easy to mistake the return values for "character found at position 0" and "character not found". Here's how to detect the difference:

`<?php
$pos = strrpos($mystring, "b");
if ($pos === false) { // note: three equal signs
// not found...
}
?>`

Example #2 Searching with offsets

`<?php
$foo = "0123456789a123456789b123456789c";
var_dump(strrpos($foo, '7', -5)); // Starts looking backwards five positions
// from the end. Result: int(17)
var_dump(strrpos($foo, '7', 20)); // Starts searching 20 positions into the
// string. Result: int(27)
var_dump(strrpos($foo, '7', 28)); // Result: bool(false)
?>`

### See Also

- strpos
- stripos
- strripos
- strrchr
- substr