substr
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