Maison  >  Article  >  Fonction de chaîne PHP (2) : opération de comparaison

Fonction de chaîne PHP (2) : opération de comparaison

无忌哥哥
无忌哥哥original
2018-06-28 10:39:203164parcourir

* 1.strcmp($str1, $str2) : Comparaison de chaînes binaires sécurisées

* 2.strncmp($str1, $str2, $length) : Comparez si la longueur spécifiée au début est la identique

* 3.strcasecmp($str1, $str2) : Comparaison de chaînes binaires sécurisées, insensible à la casse

* 4.strncasecmp($str1, $str2) : Comparaison de chaînes binaires sécurisées, insensible à la casse

* 5.strspn($str,$mark,$start,$length) : obtient la longueur de la sous-chaîne de départ correspondant au masque

* 6. strcspn($str ,$mark,$start,$length) : obtient la longueur de la sous-chaîne de départ qui ne correspond pas au masque

$str1 = 'php中文网';
$str2 = 'PHP中文网';

//1.strcmp($str1, $str2) : comparaison de chaînes, renvoie 0 si égal, renvoie >0 si supérieur, sinon renvoie <0

echo strcmp($str1, $str2) == 0 ? &#39;相等&#39; : &#39;不相等&#39;, &#39;<br>&#39;;

//2.strncmp($str, $str2, $n) : compare si les longueurs spécifiées au début sont égales .

echo strncmp($str1, $str2, 3) == 0 ? &#39;相等&#39; : &#39;不相等&#39;, &#39;<br>&#39;;

//3.strcasecmp($str1, $str2) : comparaison de chaînes insensible à la casse, renvoie 0 si égal, >0 si supérieur, sinon renvoie <0

echo strcasecmp($str1, $str2) == 0 ? &#39;相等&#39; : &#39;不相等&#39;, &#39;<br>&#39;;

//4.strncasecmp($str1, $str2) : comparaison insensible à la casse pour savoir si la longueur spécifiée au début est égale

echo strncasecmp($str1, $str2,3) == 0 ? &#39;相等&#39; : &#39;不相等&#39;, &#39;<br>&#39;;

//5.strspn($str, $mark , $ start, $length):

//Calculez la longueur de la première sous-chaîne dans laquelle tous les caractères de la chaîne existent dans le jeu de caractères spécifié

//$str1 : Caractères à être Chaîne comparée, $mark : similaire à un ensemble, renvoie le nombre de correspondances

echo strspn(&#39;15705519989&#39;, &#39;1234567890&#39;),&#39;<br>&#39;;  //返回11

//Vous pouvez spécifier la position et la longueur pour lancer la comparaison

echo strspn(&#39;15705519989&#39;, &#39;1234567890&#39;, 4, 4),&#39;<br>&#39;;//返回4

//Comparer uniquement le premier dans $str Une sous-chaîne, tous les suivants sont ignorés et 11 est renvoyé

echo strspn(&#39;15705519989 18955123344 111abc&#39;, &#39;1234567890&#39;),&#39;<br>&#39;;

//3 est renvoyé, car seuls les trois premiers de la première chaîne sont des données appartenant à l'ensemble de nombres

echo strspn(&#39;157php 18955123344 111abc&#39;, &#39;1234567890&#39;),&#39;<br>&#39;;

//Par exemple, le numéro de téléphone portable doit être une chaîne numérique pure, et l'utilisateur doit saisir une chaîne numérique pure

$phone = &#39;13899886767&#39;;

// $phone = '1389988php6767 ';

$mark = &#39;0123456789&#39;;

//Analyse, si elle correspond correctement, strspn() doit renvoyer 11, car le numéro de téléphone portable est 11, ce qui est exactement le même que strlen($phone)

echo strlen($phone)==strspn($phone, $mark) ? &#39;全数字&#39; : &#39;必须全为数字&#39;;

//Équivalent à : strspn (substr($subject, $start, $length), $mask)

//6.strcspn() et strspn() ont exactement les fonctions opposées. Vous pouvez le vérifier avec des exemples

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