PHP 8.3.27 Released!

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strrposEncontra a posição da última ocorrência de uma string em outra string

Descrição

mb_strrpos(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?string $encoding = null
): int|false

Realiza uma operação segura para multibyte strrpos() com base no número de caracteres. A posição de needle é contada a partir do início de haystack. A posição do primeiro caractere é 0. A posição do segundo caractere é 1.

Parâmetros

haystack

A string que está sendo verificada, para a última ocorrência de needle

needle

A string a ser encontrada em haystack.

offset
Pode ser especificado para começar a busca a partir de um número arbitrário de caracteres na string. Valores negativos interromperão a busca em um ponto arbitrário antes do final da string.
encoding

O parâmetro encoding é a codificação de caracteres. Se for omitido ou null, o valor da codificação de caracteres interna será usado.

Valor Retornado

Retorna a posição numérica da última ocorrência de needle na string haystack. Se needle não for encontrada, retorna false.

Erros/Exceções

  • Se offset for maior que o comprimento de haystack, um ValueError será lançado.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro needle agora aceita uma string vazia.
8.0.0 O envio de encoding como terceiro argumento em vez de uma posição foi removido.
8.0.0 O parâmetro encoding agora pode ser nulo.

Veja Também

  • mb_strpos() - Encontra a posição da primeira ocorrência de uma string em outra
  • mb_internal_encoding() - Define/Obtém a codificação de caracteres interna
  • strrpos() - Encontra a posição da última ocorrência de uma substring em uma string

adicionar nota

Notas de Usuários 2 notes

up
1
Anonymous
19 years ago
mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.

This is something to be wary of if overloading the mb functions.
up
-2
Anonymous
10 years ago
"Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
The needle may not fully part of searchrange, defined by a negative offset.
A negative offsets marks the last byte, where a search could start.
<?php
$test
= "Hallo, Herr Gött";
var_dump(strlen($test)); // int(17)
var_dump(mb_strrpos($test,'ött',13)); // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>
To Top