Maison > développement back-end > Problème PHP > 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 ?

青灯夜游
Libérer: 2023-03-14 17:28:01
original
5100 Les gens l'ont consulté

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 "相等";
}
Copier après la connexion

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
Copier après la connexion

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

0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true
Copier après la connexion

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"
Copier après la connexion

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

echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"
Copier après la connexion

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
Copier après la connexion

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, 由于不区分大小写,所以两者是相同的。
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal