(PHP 4, PHP 5)
strrpos — Find the position of the last occurrence of a substring in a string
$haystack
, string $needle
[, int $offset
= 0
] )
Find the numeric position of the last occurrence of
needle
in the haystack
string.
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.
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.
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.
|
5.0.0 |
The offset parameter was introduced.
|
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)
?>