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.
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strrpos — Encontra a posição da última ocorrência de uma string em outra string
Realiza uma operação multi-byte segura
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.
haystack
A string que está sendo verificada, para a última ocorrência
de needle
needle
A string a ser encontrada em haystack
.
offset
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.
Retorna a posição numérica da
última ocorrência de needle
na
string haystack
. Se
needle
não for encontrada, retorna false
.
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro needle agora aceita uma string vazia.
|
8.0.0 |
O envio do encoding como terceiro argumento
em vez de um deslocamento foi removido.
|
8.0.0 |
O parâmetro encoding agora pode ser nulo.
|
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.
"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)
?>