substr_compare

(PHP 5, PHP 7)

substr_compareCompare deux chaînes depuis un offset jusqu'à une longueur en caractères

Description

substr_compare ( string $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.

Liste de paramètres

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.

Valeurs de retour

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.

Historique

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.

Exemples

Exemple #1 Exemple avec substr_compare()

<?php
echo substr_compare("abcde""bc"12); // 0
echo substr_compare("abcde""de", -22); // 0
echo substr_compare("abcde""bcg"12); // 0
echo substr_compare("abcde""BC"12true); // 0
echo substr_compare("abcde""bc"13); // 1
echo substr_compare("abcde""cd"12); // -1
echo substr_compare("abcde""abc"51); // warning
?>

Voir aussi

  • strncmp() - Comparaison binaire des n premiers caractères