substr_compare
En esta página
substr_compare
Comparar dos strings desde un offset hasta una longitud en caracteres
Descripción#
substr_compare(string $haystack, string $needle, int $offset, [int $length], [bool $case_insensitive]): int
```php
`substr_compare` compara `haystack` desde la posición `offset` con `needle` durante `length` caracteres.
## Parámetros
`haystack`
El string principal a comparar.
`needle`
El string secundario a comparar.
`offset`
La posición de inicio para la comparación. Si es un valor negativo, se comienza a contar desde el final del string.
`length`
La longitud de la comparación. El valor por omisión es el máximo entre la longitud de `needle` y la longitud de `haystack` menos el parámetro `offset`.
`case_insensitive`
Si `case_insensitive` vale `true`, la comparación no distingue entre mayúsculas y minúsculas.
## Valores devueltos
Devuelve un valor inferior a 0 si `string1` es inferior a `string2`; un valor superior a 0 si `string1` es superior a `string2`, y `0` si son iguales. No se puede deducir ningún significado particular de este valor, excepto su signo.
Si `length` es igual (anterior a PHP 7.2.18, 7.3.5) o mayor que el tamaño de `haystack` o que `length` está definido y es inferior a 0, `substr_compare` muestra una alerta y retorna `false`.
## Historial de cambios
| Versión | Descripción |
|----|----|
| 8.2.0 | Esta función ya no garantiza retornar `strlen($string1) - strlen($string2)` cuando las longitudes de las strings no son iguales, y puede retornar `-1` o `1` en su lugar. |
| 8.0.0 | `length` ahora es nullable. |
| 7.2.18, 7.3.5 | `offset` ahora puede ser igual al tamaño de `haystack`. |
## Ejemplos
Ejemplo con `substr_compare`
```php
Véase también#
strncmp