Documentación offline PHP master

substr

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

substr

Devuelve un segmento de string

Descripción#

substr(string $string, int $offset, [int $length]): string
```php

Devuelve el segmento de `string` definido por `offset` y `length`.

## Parámetros

`string`  
El string de entrada.

`offset`  
Si `offset` es positivo, el string devuelto comenzará en el carácter número `offset`, en el string `string`. El primer carácter está numerado cero. En efecto, en el string '`abcdef`', el carácter en la posición `0` es '`a`', el carácter en la posición `2` es '`c`', y así sucesivamente.

Si `offset` es negativo, el string devuelto comenzará en el carácter número `offset` contando desde el final del string `string`.

Si `string` es más pequeño que `offset` caracteres de largo, se devolverá un string vacío.

Ejemplo con `offset` negativo
`length`  
Si `length` es proporcionado y es positivo, el string devuelto contendrá como máximo `length` caracteres, comenzando desde el carácter `offset` (dependiendo del tamaño del string `string`).

Si se proporciona `length` y es negativo, se omitirá esa cantidad de caracteres al final de `string`. Si `offset` representa una posición de este truncamiento o fuera del string, se devolverá una cadena vacía.

Si el parámetro `length` es proporcionado y vale `0`, se devolverá un string vacío.

Si `length` es omitido o `null`, el substring comenzando desde `offset` hasta el final será devuelto.

Uso de un valor negativo para `length`
## Valores devueltos

Devuelve la parte extraída del string `string`, o un string vacío.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.0.0 | `length` es ahora nullable. Cuando `length` es explícitamente definido como `null`, la función devuelve un substring terminando al final del string, mientras que anteriormente devolvía un string vacío. |
| 8.0.0 | Esta función devuelve un string vacío donde anteriormente devolvía `false` |

## Ejemplos

Ejemplo con `substr`
Comportamiento del cast con `substr`
El ejemplo anterior mostrará:

    1) 'pe'
    2) '54'
    3) 'gr'
    4) '1'
    5) ''
    6) ''
    7) '1200'

Intervalo de caracteres inválido

Si un intervalo de caracteres inválido es solicitado, `substr` devuelve un string vacío a partir de PHP 8.0.0; anteriormente `false` era devuelto en su lugar.

```php

Resultado del ejemplo anterior en PHP 8:

string(0) ""

Resultado del ejemplo anterior en PHP 7:

bool(false)

Véase también#

strrchr, substr_replace, preg_match, trim, mb_substr, wordwrap, Acceso y modificación de un string, por carácter