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.
strcmp (String $ str1, string $ str2): int
$ str1 : la première chaîne à comparer
$ str2 : la deuxième chaîne à comparer
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.
$ 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.
$ 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.
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 ().
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.
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.
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.
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.