(PHP 5, PHP 7, PHP 8)
substr_compare — Compare deux chaînes depuis un offset jusqu'à une longueur en caractères
$haystack
,$needle
,$offset
,$length
= null
,$case_insensitive
= false
substr_compare() compare haystack
à partir de la position offset
avec needle
pendant length
caractères.
haystack
La chaîne principale à comparer.
needle
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 needle
et la longueur de haystack
moins le paramètre
offset
.
case_insensitive
Si case_insensitive
vaut true
, la comparaison
est insensible à la casse.
Retourne < 0 si haystack
à partir de
offset
est inférieur à needle
, >
0 s'il est plus grand que needle
, 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 haystack
ou que
length
est définit et inférieur à 0,
substr_compare() affiche une alerte et retourne false
.
Version | Description |
---|---|
8.0.0 |
length est désormais nullable.
|
7.2.18, 7.3.5 |
offset peut désormais être égal à la taille de haystack .
|
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
?>