Función substr

La función substr extrae y devuelve una subcadena de una cadena. La cadena original no se modifica. El primer parámetro de la función es la cadena, el segundo - la posición del carácter desde donde comenzar la extracción, y el tercero - el número de caracteres. Tenga en cuenta que la numeración de los caracteres en la cadena comienza desde cero.

El segundo parámetro puede ser negativo - en este caso, el conteo comenzará desde el final de la cadena, donde el último carácter tendrá el número -1.

El tercer parámetro se puede omitir - en este caso, la extracción se realizará hasta el final de la cadena.

La función funciona correctamente solo con caracteres latinos (caracteres de un solo byte).

Sintaxis

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

Ejemplo

Extraigamos 3 caracteres de la cadena desde la posición 1 (desde el segundo carácter, ya que el primero tiene el número 0):

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

Resultado de la ejecución del código:

php'bcd'

Ejemplo

Extraigamos todos los caracteres hasta el final de la cadena, comenzando desde el segundo (que tiene el número 1):

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

Resultado de la ejecución del código:

php'bcde'

Ejemplo

Extraigamos el tercer y segundo carácter desde el final, para ello indicamos el inicio de la extracción -3 (este es el número del tercer carácter desde el final), y el número de caracteres - 2:

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

Resultado de la ejecución del código:

php'cd'

Ejemplo

Extraigamos los últimos 2 caracteres, para ello indicamos la posición del penúltimo carácter (que es -2), y no especificamos el tercer parámetro - en este caso, el recorte será hasta el final de la cadena:

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

Resultado de la ejecución del código:

php'de'

Ejemplo

Extraigamos el último carácter:

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

Resultado de la ejecución del código:

php'e'

Véase también

  • la función substr_replace,
    que extrae una parte de una cadena y la reemplaza por otra