Maison >développement back-end >Problème PHP >Comment PHP connaît-il les similitudes et les différences des chaînes à l'aide d'algorithmes 'naturels'
Dans l'article précédent, nous avons appris comment trouver la dernière position d'une chaîne dans une autre chaîne. Si vous en avez besoin, veuillez lire "Comment php connaît-il la position de la dernière occurrence d'une chaîne". Cette fois, nous allons vous présenter comment utiliser l'algorithme "naturel" pour connaître les similitudes et les différences des chaînes. Vous pouvez vous y référer si vous en avez besoin.
Dans l'article précédent, nous avons présenté la méthode de comparaison des chaînes, mais cette fois nous sommes différents. Nous utilisons l'algorithme « naturel » pour comparer les chaînes. Si vous souhaitez savoir comment utiliser des algorithmes ordinaires pour comparer des chaînes, vous pouvez lire l'article précédent "Fonction php : comment connaître les similitudes et les différences des chaînes".
Jetons un coup d'œil à ce qu'on appelle un algorithme de tri « naturel ».
Implémente un algorithme de tri de la même manière que les gens trient habituellement les chaînes alphanumériques et conserve l'association clé/valeur d'origine, appelée « tri naturel ».
Bon, venons-en au fait maintenant.
Regardons d’abord un petit exemple.
<?php echo strnatcasecmp("2Hello WORLD!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("2hello world!","2aello world!"); echo "<br>"; echo strnatcasecmp("2hello world!","9hello WORLD!"); echo "<br>"; echo strnatcasecmp("2hello world!","2HELLO WORLD!"); ?>
Ce résultat est
Regardons de plus près cet exemple Lorsque nous sommes exactement les mêmes à l'exception des nombres précédents, nous constatons que le nombre est -1 Lorsque nos nombres sont les mêmes, mais le. les lettres derrière sont modifiées, vaut 1, mais lorsque les chiffres sont les mêmes, les lettres sont les mêmes et les majuscules et les minuscules sont différentes, il s'avère être 0. Quelles en sont les raisons ?
Avec ces questions, jetons un œil à cette fonction. La fonction
strnatcasecmp() utilise un algorithme "naturel" pour comparer deux chaînes (insensible à la casse).
Dans ce cas, jetons un œil à la syntaxe de cette fonction.
strnatcasecmp(要比较的第一个字符串,要比较的第二个字符串)
Nous étions encore curieux de connaître "0", "-1" et "1" avant. Savez-vous ce qu'ils signifient ? Ce n’est pas grave, ce sont les valeurs de retour de la fonction, utilisées pour illustrer la relation entre la première chaîne et la deuxième chaîne.
Cette fonction renvoie :
0 - si les deux chaînes sont égales
>0 - si chaîne1 est supérieure à chaîne2
C'est pratique" Il existe deux façons de comparer des chaînes dans l'algorithme "naturel". Cette fois, nous présenterons celle qui n'est pas sensible à la casse. Le prochain article présentera celle qui est sensible à la casse.
C'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →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!