(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 -1
si haystack
à partir de offset
est inférieur à needle
, 1
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.2.0 | Cette fonction retourne désormais -1 ou 1 , alors qu'auparavant elle renvoyait un nombre négatif ou positif. |
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
?>