Maison  >  Article  >  développement back-end  >  Quels sont les moyens de comparer des chaînes pour l’égalité en PHP ?

Quels sont les moyens de comparer des chaînes pour l’égalité en PHP ?

青灯夜游
青灯夜游original
2021-12-31 18:41:225026parcourir

Les méthodes permettant à PHP de comparer si les chaînes sont égales sont : 1. Utilisez l'instruction "String 1==String 2" ; 2. Utilisez l'instruction "String 1=== String 2" ; 3. Utilisez "strcmp(Character) String 1, String 2)" ; 4. Utilisez l'instruction "strcasecmp (String 1, String 2)" et ainsi de suite.

Quels sont les moyens de comparer des chaînes pour l’égalité en PHP ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comparez deux chaînes pour voir si elles sont égales

Généralement, vous pouvez utiliser !=, = = comparer deux objets. L'égalité signifie que ce sont deux objets car ce ne sont pas nécessairement toutes des chaînes, ils peuvent aussi être des entiers, etc. Par exemple,

$a = "joe";
$b = "jerry";
if ($a != $b)
{
    echo "不相等";
}
else
{
    echo "相等";
}

Si vous utilisez !==, === (vous pouvez voir un signe égal supplémentaire) pour comparer, les types des deux objets doivent être strictement égaux pour renvoyer vrai, sinon, utilisez ==, != ; , la chaîne sera automatiquement convertie en type correspondant pour comparaison.

22 == "22"; // 返回 true
22 === "22"; // 返回false

Pour cette raison, des "accidents" inattendus se produisent souvent dans notre programme :

0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true

tutoriel php Il existe également un ensemble de fonctions pour la comparaison de chaînes : strcmp, strcasecmp, strncasecmp(), strncmp(), description de la valeur de retour :

Quels sont les moyens de comparer des chaînes pour l’égalité en PHP ?

strcmp est utilisé pour la comparaison de chaînes sensibles à la casse (c'est-à-dire sensible à la casse) :

echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"

strcasecmp est utilisé pour la comparaison de chaînes insensible à la casse :

echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"

strncmp Utilisé pour comparer un partie d'une chaîne, en commençant par le début de la chaîne. Le troisième paramètre est la longueur à comparer :

echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc

strncasecmp est utilisé pour comparer une partie de la chaîne sans respecter la casse, en commençant par le début de la chaîne. le troisième paramètre est la longueur à comparer :

echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。

Une autre situation est que la simple comparaison de la taille de la chaîne ne peut pas répondre à nos besoins prédéterminés. Par exemple, comme d'habitude, 10.gif sera meilleur que 5.gif. Grand, mais si vous appliquez les fonctions ci-dessus, -1 sera renvoyé, ce qui signifie 10.gif est meilleur que 5.gif Pour cette situation, PHP fournit deux fonctions naturellement contrastées strnatcmp et strnatcasecmp :

echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)

Apprentissage recommandé : "Tutoriel vidéo PHP"

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn