(PHP 5, PHP 7, PHP 8)
strripos — Encontra a posição da última ocorrência de uma substring em uma string, insensível a miúsculas/minúsculas
Encontra a posição numérica da última ocorrência de
needle
na string haystack
.
Diferentemente de strrpos(), strripos() é insensível a miúsculas/minúsculas.
haystack
A string onde a substring será procurada.
needle
A substring procurada.
Antes do PHP 8.0.0, se needle
não for uma string, ela será convertida
para um número inteiro e aplicada como o valor ordinal de um caractere.
Este comportamento tornou-se defasado a partir do PHP 7.3.0 e depender dele é altamente
desaconselhado. Dependendo do comportamento pretendido, o parâmetro
needle
deve ser explicitamente convertido em string
ou uma chamada explícita para chr() deve ser realizada.
offset
Se zero ou positivo, a pesquisa é realizada da esquerda para a direita pulando os
primeiros offset
bytes de
haystack
.
Se negativo, a pesquisa é realizada da direita para a esquerda pulando os
últimos offset
bytes de
haystack
e pesquisando pela primeira ocorrência
de needle
.
Nota:
Efetivamente, é o mesmo que procurar pela última ocorrência de
needle
antes dos últimosoffset
bytes.
Retorna a posição onde a string procurada existe relativamente ao início da
string haystack
(independente da direção de busca
ou do deslocamenteo).
Nota: A posições na string iniciam em 0, e não em 1.
Retorna false
se a string não for encontrada.
Esta função pode
retornar o valor booleano false
, mas também pode retornar um valor não booleano que pode ser
avaliado como false
. Leia a seção sobre Booleanos para mais
informações. Use o operador
=== para testar o valor retornado por esta
função.
Versão | Descrição |
---|---|
8.2.0 | A redução de todas as letras a maiúsculas ou minúsculas não depende mais da localidade definida com setlocale(). Somente a redução de todas as letras ASCII a maiúsculas ou minúsculas será feita. Os bytes não ASCII serão comparados por seu valor de byte. |
8.0.0 |
O parâmetro needle agora aceita uma string vazia.
|
8.0.0 |
Passar int no parâmetro needle não é mais suportado.
|
7.3.0 |
Passar um int no parâmetro needle tornou-se defasado.
|
Exemplo #1 Um exemplo simples de strripos()
<?php
$haystack = 'ababcd';
$needle = 'aB';
$pos = strripos($haystack, $needle);
if ($pos === false) {
echo "Desculpe, não encontramos ($needle) em ($haystack)";
} else {
echo "Parabéns!\n";
echo "Encontramos a última ocorrência de ($needle) em ($haystack) na posição ($pos)";
}
?>
O exemplo acima produzirá:
Parabéns! Encontramos a última ocorrência de (aB) em (ababcd) na posição (2)