# substr_compare

(PHP 5, PHP 7, PHP 8)

substr_compare — Comparación segura a nivel binario de dos o más strings desde un índice hasta una longitud de caracteres dada

### Descripción

substr_compare(
string `$main_str`,
string `$str`,
int `$offset`,
int `$length` = ?,
bool `$case_insensitivity` = `false`
): int

substr_compare() compara `main_str` desde la posición `offset` con `str` hasta la cantidad `length` de caracteres.

### Parámetros

`main_str`

  El string principal a comparar.

`str`

  El string secundario a comparar.

`offset`

  La posición de inicio para la comparación. Si es negativa, se comienza a contar desde el final del string.

`length`

  La longitud de la comparación. El valor predeterminado es el que sea mayor entre la longitud de `str` comparado con la longitud de `main_str` menos el `offset`.

`case_insensitivity`

  Si `case_insensitivity` es `true`, la comparación no considera el uso de mayúsculas y minúsculas.

### Valores devueltos

Devuelve < 0 si `main_str`, desde la posición `offset`, es menor que `str`, > 0 si es mayor que `str`, y 0 si son iguales. Si `offset` es igual o mayor que la longitud de `main_str`, o `length` se establece y es menor que 1 (antes de PHP 5.5.11), substr_compare() muestra una advertencia y devuelve `false`.

### Historial de cambios

Versión | Descripción
--- | ---
5.5.11 | `length` ahora puede ser `0`.
5.1.0 | Se añadió la posibilidad de usar un `offset` negativo.

### Ejemplos

Ejemplo #1 Un ejemplo de substr_compare()

`<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // advertencia
?>`

### Ver también

- strncmp() - Comparación segura a nivel binario de los primeros n caracteres entre strings