Função substr

A função substr extrai e retorna uma substring de uma string. A string original não é modificada. O primeiro parâmetro da função recebe a string, o segundo - a posição do caractere de onde começar a extração, e o terceiro - o número de caracteres. Observe que a numeração dos caracteres da string começa em zero.

O segundo parâmetro pode ser negativo - neste caso, a contagem começará a partir do final da string, sendo que o último caractere terá o número -1.

O terceiro parâmetro pode ser omitido - neste caso, a extração ocorrerá até o final da string.

A função funciona corretamente apenas com caracteres latim (caracteres de byte único).

Sintaxe

phpsubstr(string $string, int $offset, ?int $length = null): string

Exemplo

Vamos extrair 3 caracteres da string a partir da posição 1 (a partir do segundo caractere, já que o primeiro tem o número 0):

php<?php
  echo substr('abcde', 1, 3);
?>

Resultado da execução do código:

php'bcd'

Exemplo

Vamos extrair todos os caracteres até o final da string, começando pelo segundo (que tem o número 1):

php<?php
  echo substr('abcde', 1);
?>

Resultado da execução do código:

php'bcde'

Exemplo

Vamos extrair o terceiro e o segundo caracteres a partir do final, para isso especificamos o início da extração como -3 (este é o número do terceiro caractere a partir do final), e o número de caracteres como 2:

php<?php
  echo substr('abcde', -3, 2);
?>

Resultado da execução do código:

php'cd'

Exemplo

Vamos extrair os últimos 2 caracteres, para isso especificamos a posição do penúltimo caractere (que é -2), e não especificamos o terceiro parâmetro - neste caso, a extração será até o final da string:

php<?php
  echo substr('abcde', -2);
?>

Resultado da execução do código:

php'de'

Exemplo

Vamos extrair o último caractere:

php<?php
  echo substr('abcde', -1);
?>

Resultado da execução do código:

php'e'

Veja também

  • a função substr_replace,
    que extrai uma parte da string e a substitui por outra