(PHP 5, PHP 7, PHP 8)
stripos — Encontra a posição da primeira ocorrência de uma substring em uma string, de forma insensível a maiúsculas/minúsculas
Encontra a posição da primeira ocorrência de
needle na sring haystack.
Diferentemente de strpos(), stripos() é insensível a maiúsculas/minúsculas.
haystackA string onde a substring será procurada.
needleA substring sendo pesquisada.
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 foi descontinuado 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.
offsetSe especificado, a pesquisa iniciará nesse número de caracteres contados a partir do início da string. Se o deslocamento for negativo, a busca iniciará nesse número de caracteres contados a partir do final da string.
Retorna a posição onde a substring pesquisada existe em relação ao início da
string haystack (independente do deslocamento).
Observe também que as posições das strings começam em 0 e não em 1.
Retorna false se a substring 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 um int em needle não é mais suportado.
|
| 7.3.0 |
Passar um int em needle foi descontinuado.
|
| 7.1.0 |
Suporte para valores negativos em offset foi adicionado.
|
Exemplo #1 Exemplos de stripos()
<?php
$findme = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';
$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);
// Não, 'a' certamente não existe em 'xyz'
if ($pos1 === false) {
echo "A string '$findme' não foi encontrada na string '$mystring1'", PHP_EOL;
}
// Observe o uso de ===. Simplesmente == não iria funcionar como esperado
// porque a posição de 'a' é na posição 0 (primeiro) caractere.
if ($pos2 !== false) {
echo "Encontrado '$findme' em '$mystring2' na posição $pos2", PHP_EOL;
}
?>Nota: Esta função é compatível com dados binários.