(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
]] ) : int
substr_compare() compare main_str
à partir de la position offset
avec str
pendant length
caractères.
main_str
La chaîne principale à comparer.
str
La chaîne secondaire à comparer.
offset
La position de départ pour la comparaison. 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 (antérieur à PJP 7.2.18, 7.3.5) ou
plus grand que la taille de main_str
ou que
length
est définit et inférieur à 0,
(ou, antérieur à PHP 5.5.11, moins que 1)
substr_compare() affiche une alerte et retourne FALSE
.
Version | Description |
---|---|
7.2.18, 7.3.5 |
offset peut désormais être égal à la taille de main_str .
|
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
?>