Dans PHP, la fonction strncmp () est utilisée pour comparer les n premier caractères de deux chaînes et renvoyer le résultat de comparaison. Ceci est très utile à plusieurs reprises, surtout lorsque les préfixes de chaînes doivent être strictement adaptés. Contrairement à STRSTR (), StrnCMP () n'est pas seulement une correspondance partielle, c'est une comparaison des N premier caractères de deux chaînes.
Cette fonction accepte trois paramètres: le premier paramètre est la première chaîne, la seconde est la deuxième chaîne, et le troisième est le nombre de caractères à comparer.
Dans le code ci-dessus, nous comparons les trois premiers caractères des cordes «Apple» et «banane». Étant donné que le code ASCII de «A» est 97, et que le code ASCII de «B» est 98 et 97 est inférieur à 98, le résultat de retour est -1. Si vous ne comparez que les deux premiers caractères, le résultat est 0, car les valeurs «ap» et «ba» '' sont égales.
Strncmp () peut être utilisé pour comparer en toute sécurité les mots de passe en texte clair avec les mots de passe de hachage. Dans ce cas, nous stockons souvent la valeur de hachage côté serveur, et lors de la comparaison, nous utilisons la valeur de hachage du mot de passe en texte clair pour la vérification.
Dans le code ci-dessus, nous comparons le mot de passe entré par l'utilisateur avec la valeur de hachage stockée dans la base de données pour garantir que le mot de passe correspond. «Mot de mot de passe» est sortie uniquement lorsque le mot de passe correspond.
Parfois, nous devons comparer le contenu de deux fichiers. Cette exigence peut être facilement réalisée en utilisant la fonction strncmp (). L'exemple de code suivant montre comment comparer le contenu de deux fichiers:
Dans le code ci-dessus, nous comparons le contenu de deux fichiers texte. Lorsque le contenu est exactement le même, la fonction renvoie 0, sinon il renvoie d'autres résultats.
Bien que la fonction strncmp () soit principalement utilisée pour la comparaison des chaînes, nous pouvons convertir le tableau en une chaîne et le comparer. Vous pouvez utiliser json_encode () pour convertir un tableau en une chaîne JSON, puis utiliser strncmp () pour comparaison.
Dans le code ci-dessus, nous convertissons deux tableaux en chaînes au format JSON et les comparons en utilisant la fonction strncmp (). La fonction renvoie 0 uniquement si le contenu du tableau est exactement le même.
La fonction strncmp () dans PHP est un outil très utile qui permet aux développeurs de comparer les chaînes, les contenus de fichiers et même les tableaux. En utilisant efficacement strncmp (), nous pouvons simplifier le code et améliorer l'efficacité, en particulier dans les scénarios d'application tels que la vérification du mot de passe et la comparaison des fichiers.