strrchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strrchrEncontra a última ocorrência de um caractere em uma string

Descrição

strrchr(string $haystack, string $needle, bool $before_needle = false): string|false

Esta função retorna a porção de haystack que inicia na última ocorrência de needle e continua até o final de haystack.

Parâmetros

haystack

A string na qual a pesquisa será realizada.

needle

Se needle contiver mais de um caractere, apenas o primeiro será usado. Este comportamento é diferente quando comparado com strstr().

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.

before_needle

Se for true, strrchr() retorna a parte de haystack antes da última ocorrência do caractere needle (excluindo o caractere).

Valor Retornado

Esta função retorna a porção de uma string, ou false se needle não for encontrado.

Registro de Alterações

Versão Descrição
8.3.0 O parâmetro before_needle foi adicionado.
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 tornou-se defasado.

Exemplos

Example #1 Exemplo de strrchr()

<?php
$ext = strrchr('algum_arquivo.txt', '.');
echo "extensão do arquivo: $ext \n";
$ext = $ext ? strtolower(substr($ext, 1)) : '';
echo "extensão do arquivo: $ext";
?>

O exemplo acima produzirá algo semelhante a:

extensão do arquivo: .txt
extensão do arquivo: txt

Notas

Note: Esta função é compatível com dados binários.

Veja Também

  • strstr() - Encontra a primeira ocorrência de uma string
  • strrpos() - Encontra a posição da última ocorrência de uma substring em uma string