(PHP 5, PHP 7)
substr_compare — Compare deux chaînes depuis un offset jusqu'à une longueur en caractères
$main_str
, string $str
, int $offset
[, int $length
[, bool $case_insensitivity = false
]] )
substr_compare() compare main_str
à partir de la position offset avec str
pendant length caractères.
main_strLa chaîne principale à comparer.
strLa chaîne secondaire à comparer.
offset
La position de départ de la comparaison dans main_str. Si c'est une valeur négative,
on commence à compter à partir de la fin de la chaîne.
length
La longueur de la comparaison. La valeur
par défaut est le maximum entre la longueur de str
et la longueur de main_str moins le paramètre offset.
case_insensitivity
Si case_insensitivity vaut TRUE, la comparaison
est insensible à la casse.
Retourne < 0 si main_str à partir de
offset est inférieur à str, >
0 s'il est plus grand que str, et 0 si ils sont égaux.
Si length est égal ou plus grand que la taille de
main_str ou que length est configuré
et est inférieur à 1 (avant PHP 5.5.11), substr_compare()
affiche une alerte et retourne FALSE.
| Version | Description |
|---|---|
| 5.5.11 |
Le paramètre length
peut maintenant valoir 0.
|
| 5.1.0 |
Ajout de la possibilité d'utiliser une valeur négative pour le
paramètre offset.
|
Exemple #1 Exemple avec 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); // warning
?>