Maison > Article > développement back-end > Quels sont les moyens de comparer des chaînes pour l’égalité en PHP ?
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.
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 :
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!