Resumo : neste tutorial, você aprenderá como usar a strpos()
função PHP para obter o índice da primeira ocorrência de uma substring em uma string.
Introdução à função strpos() do PHP
A strpos()
função PHP retorna o índice da primeira ocorrência de uma substring dentro de uma string .
Aqui está a sintaxe da strpos()
função:
strpos ( string $haystack , string $needle , int $offset = 0 ) : int|false
Linguagem de código: PHP ( php )
A strpos()
função possui os seguintes parâmetros:
- The
$haystack
é uma string para pesquisar. - O
$needle
é um valor de string a ser pesquisado. - The
$offset
é um número inteiro que representa o índice no qual astrpos()
função inicia a pesquisa. O$offset
padrão é 0.
O $offset
pode ser positivo ou negativo. Se $offset
for positivo, a strpos()
função inicia a busca no $offset
número de caracteres até o final da string.
Se $offset
for negativo, a strpos()
função começa no $offset
número de caracteres até o início da string.
Se strpos()
não encontrar the $needle
no $haystack
, ele retornará false
.
strpos()
Exemplos de funções PHP
Vejamos alguns exemplos de uso da strpos()
função.
1) Usando strpos()
a função PHP para procurar um exemplo de substring
O exemplo a seguir usa a strpos()
função para procurar a substring 'to'
na string 'To do or not to do'
:
<?php
$str = 'To do or not to do';
$position = strpos($str, 'do');
echo $position; // 3
Linguagem de código: PHP ( php )
Saída:
3
Linguagem de código: PHP ( php )
2) Usando a função PHP strpos() para procurar uma substring com um exemplo de deslocamento
O exemplo a seguir usa a strpos()
função para procurar a substring 'do'
na string 'To do or not to do'
iniciada no índice 5:
<?php
$str = 'To do or not to do';
$position = strpos($str, 'do', 4);
echo $position;
Linguagem de código: PHP ( php )
Saída:
16
Linguagem de código: PHP ( php )
Neste exemplo, strpos()
retorna o índice da segunda ocorrência da 'do'
substring porque inicia a pesquisa no índice 4.
3) Usando strpos()
dicas de função PHP
O exemplo a seguir usa a strpos()
função para procurar a substring 'To'
na string 'To do or not to do'
:
<?php
$str = 'To do or not to do';
$position = strpos($str, 'To');
if ($position) {
echo $position;
} else {
echo 'Not found';
}
Linguagem de código: PHP ( php )
Saída:
Not found
Linguagem de código: PHP ( php )
A string 'To'
está localizada no início da string; portanto, a strpos()
função retorna 0. No entanto, o PHP avalia 0 como false
. Então você vê a 'not found'
mensagem na saída.
Para evitar esse problema, você deve sempre comparar o resultado da strpos()
função com true
ou false
usando o operador ===
ou . !==
Por exemplo:
<?php
$str = 'To do or not to do';
$position = strpos($str, 'To');
if ($position !== false) {
echo $position; // 0
} else {
echo 'Not found';
}
Linguagem de código: PHP ( php )
Saída:
0
Linguagem de código: PHP ( php )
Função PHP stripos()
A stripos()
função é semelhante à strpos()
função, exceto que procura a substring sem distinção entre maiúsculas e minúsculas. O exemplo a seguir retorna false
:
<?php
$str = 'PHP is cool';
$position = strpos($str, 'php');
var_dump($position); // bool(false)
Linguagem de código: PHP ( php )
Saída:
0
Linguagem de código: PHP ( php )
Para procurar uma substring sem distinção entre maiúsculas e minúsculas, você usa a stripos()
função:
<?php
$str = 'PHP is cool';
$position = stripos($str, 'php');
var_dump($position); // 0
Linguagem de código: PHP ( php )
Resumo
- Use a
strpos()
função para retornar o índice da primeira ocorrência de uma substring em uma string. - Use a
stripos()
função para pesquisar a substring sem distinção entre maiúsculas e minúsculas.