strrpos

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

Syntax

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

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. This behavior is deprecated as of PHP 7.3.0, and relying on it is highly discouraged. Depending on the intended behavior, the needle should either be explicitly cast to string, or an explicit call to chr() should be performed.

offset

If zero or positive, the search is performed left to right skipping the first offset bytes of the haystack. If negative, the search is performed right to left skipping the last offset bytes of the haystack and searching for the first occurrence of needle.

Note: This is effectively looking for the last occurrence of needle before the last offset bytes.

Return

Returns the position where the needle exists relative to the beginning of the haystack string (independent of search direction or offset).

Note: 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 identity operator (===) for testing the return value of this function.

Examples

1 · haystack needle

<?

$haystack = 'CASEcase';
$needle = 's';

$return = strrpos($haystack, $needle);

echo $return;

?>
6

2 · offset · Negative

<?

$haystack = 'CASEcase';
$needle = 's';
$offset = -4;

$return = strrpos($haystack, $needle, $offset);

echo $return;

?>

3 · offset · Non-negative

<?

$haystack = 'CASEcase';
$needle = 's';
$offset = 4;

$return = strrpos($haystack, $needle, $offset);

echo $return;

?>
6

4 · Return

<?

// use identity operator (===) instead of comparison operator (==) to test return

$haystack = 'abc';
$needle = 'a';

$return = strrpos($haystack, $needle);

if($return === false)
{
    echo "not found";
}
else
{
    echo "found";
}

?>
found
HomeMenu