Position actuelle: Accueil> Derniers articles> Explication détaillée et exemples d'utilisation de la fonction strcmp () en php

Explication détaillée et exemples d'utilisation de la fonction strcmp () en php

gitbox 2025-06-28

Quelle est la fonction strcmp ()

Strcmp () est l'une des fonctions de chaîne en PHP qui compare la taille de deux chaînes. S'ils sont les mêmes, retournez 0; Si la première chaîne est petite, rendez-vous négatif; vice versa.

Syntaxe de fonction

strcmp (String $ str1, string $ str2): int

Description du paramètre

$ str1 : la première chaîne à comparer

$ str2 : la deuxième chaîne à comparer

Valeur de retour

La fonction strcmp () renvoie un entier dont la valeur est déterminée en fonction du résultat de comparaison de la chaîne. Si les deux chaînes sont égales, retournez 0; Si la chaîne 1 est inférieure à la chaîne 2, renvoyez une valeur inférieure à 0; Si la chaîne 1 est supérieure à la chaîne 2, renvoyez une valeur supérieure à 0.

exemple

Égalité de cordes

$ str1 = "Hello World";

$ str2 = "Hello World";

Echo STRCMP ($ STR1, $ STR2);

Résultat de sortie: 0

Description: Les chaînes $ str1 et $ str2 sont égales, donc strcmp () renvoie la valeur 0.

Les cordes ne sont pas égales

$ str1 = "Hello World";

$ str2 = "Hello World!";

Echo STRCMP ($ STR1, $ STR2);

Résultat de sortie: -1

Description: La chaîne $ str1 est inférieure à $ str2, donc strcmp () renvoie une valeur inférieure à 0.

Différences par rapport aux opérateurs "==" et "==="

En PHP, en plus d'utiliser la fonction strcmp () pour comparer les chaînes, les opérateurs "==" et "===" peuvent également être comparés, mais ils sont très différents de la fonction strcmp ().

Chaînes de comparaison utilisant l'opérateur "=="

L'opérateur "==" est utilisé pour comparer les valeurs de deux variables. Renvoie true si leurs valeurs sont les mêmes, sinon renvoyez false. Cependant, lors de la comparaison de deux chaînes, il peut produire des résultats imprévisibles.

$ str1 = "123";

$ str2 = "123";

if ($ str1 == $ str2) {echo "true"; } else {echo "false"; }

Résultat de sortie: vrai

Remarque: Bien que les valeurs de $ STR1 et $ STR2 soient différentes, l'opérateur "==" les considère toujours égaux.

Chaînes de comparaison utilisant l'opérateur "==="

L'opérateur "===" est utilisé pour comparer les valeurs et les types de deux variables. Renvoie vrai si leurs valeurs et types sont les mêmes, sinon faux. Lorsque vous utilisez cet opérateur pour comparer deux chaînes, cela fonctionnera comme prévu.

$ str1 = "123";

$ str2 = "123";

if ($ str1 === $ str2) {echo "true"; } else {echo "false"; }

Résultat de sortie: faux

Remarque: L'utilisation de l'opérateur "===", $ str1 et $ str2 sont considérées comme des types différents, donc le résultat de l'opération est faux.

Scénarios de la fonction strcmp ()

Par rapport aux opérateurs "==" et "===", la fonction strcmp () est la méthode préférée pour comparer deux chaînes. Il est souvent utilisé pour vérifier si les chaînes sont égales, par exemple dans la validation du formulaire:

$ str1 = $ _post ['mot de passe'];

$ str2 = "qwerty";

if (strcmp ($ str1, $ str2) === 0) {// mot de passe entré correctement} else {// mot de passe est mauvais}

Ce code compare le mot de passe entré par l'utilisateur avec le mot de passe prédéfini. S'ils sont égaux, le mot de passe est correct, sinon le mot de passe est mauvais. Étant donné que la fonction strcmp () est plus précise, il est assuré que le mot de passe n'est pas accepté de manière incorrecte.

en conclusion

Strcmp () est une fonction de chaîne très utile en PHP, utilisé pour comparer si deux chaînes sont égales. Bien qu'il puisse être plus facile d'utiliser les opérateurs "==" et "===" dans certains cas, pour les comparaisons de chaînes, l'utilisation de strcmp () assure la précision des résultats de comparaison.