php8.5
Home/ Manual/ strings / functions/ strripos

strripos

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Find the position of the last occurrence of a case-insensitive substring in a string

Description

strripos(string $haystack, string $needle, int $offset = 0): int|false

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

Unlike strrpos(), strripos() is case-insensitive.

Parameters

haystack

The string to search in.

needle

The string to search for.

Non-string

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 Values

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.

Falseproblem

Errors/Exceptions

  • If offset is greater than the length of haystack, a ValueError will be thrown.

Changelog

VersionDescription
8.0.0Passing an Integer as needle is no longer supported.
7.3.0Passing an Integer as needle has been deprecated.

Examples

A simple strripos() example

php
<?php

$haystack = 'ababcd';
$needle   = 'aB';

$pos      = strripos($haystack, $needle);

if ($pos === false) {
    echo "Sorry, we did not find `$needle` in `$haystack`";
} else {
    echo "Congratulations!\n";
    echo "We found the last `$needle` in `$haystack` at position `$pos`";
}

?>

The above example will output:

output
Congratulations!
We found the last `aB` in `ababcd` at position `2`

See Also

Source: reference/strings/functions/strripos.xml · from the official PHP manual (php/doc-en)