Comment PHP connaît-il les similitudes et les différences des chaînes à l'aide d'algorithmes 'naturels'

醉折花枝作酒筹
Libérer: 2023-03-11 22:04:02
original
1461 Les gens l'ont consulté

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!");
?>
Copier après la connexion

Ce résultat est

Comment PHP connaît-il les similitudes et les différences des chaînes à laide dalgorithmes naturels

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(要比较的第一个字符串,要比较的第二个字符串)
Copier après la connexion

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!

Étiquettes associées:
php
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal