String Functions
PHP Manual


(PHP 4, PHP 5, PHP 7)

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


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

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



The string to search in.


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


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 beginning 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.


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.


Version Description
5.0.0 The needle may now be a string of more than one character.


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:


if (
$pos === false) { // note: three equal signs
    // not found...


Example #2 Searching with offsets


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

String Functions
PHP Manual