PHP 8.4.2 Released!

strnatcasecmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcasecmpComparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse)

Description

strnatcasecmp(string $string1, string $string2): int

strnatcasecmp() implémente l'algorithme de comparaison qui ordonne les chaînes tel qu'un homme le ferait. Cette fonction est similaire à la fonction strnatcmp(), mais la comparaison n'est pas sensible à la casse. Pour plus de détails, reportez-vous à » Natural Order String Comparison de Martin Pool (en anglais).

Liste de paramètres

string1

La première chaîne.

string2

La seconde chaîne.

Valeurs de retour

Retourne une valeur inférieure à 0 si string1 est inférieure à string2 ; une valeur supérieure à 0 si string1 est supérieure à string2, et 0 si elles sont égales. Aucune signification particulière ne peut être déduite de cette valeur, hormis son signe.

Historique

Version Description
8.2.0 Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.

Exemples

Exemple #1 Exemple avec strnatcasecmp()

<?php

var_dump
(strnatcasecmp('Apple', 'Banana'));
var_dump(strnatcasecmp('Banana', 'Apple'));
var_dump(strnatcasecmp('apple', 'Apple'));
?>

L'exemple ci-dessus va afficher :

int(-1)
int(1)
int(0)

Voir aussi

  • preg_match() - Effectue une recherche de correspondance avec une expression rationnelle standard
  • strcmp() - Comparaison binaire de chaînes
  • strcasecmp() - Comparaison insensible à la casse de chaînes binaires
  • substr() - Retourne un segment de chaîne
  • stristr() - Version insensible à la casse de strstr
  • strncasecmp() - Compare en binaire des chaînes de caractères
  • strncmp() - Comparaison binaire des n premiers caractères
  • strstr() - Trouve la première occurrence dans une chaîne
  • setlocale() - Modifie les informations de localisation

add a note

User Contributed Notes 2 notes

up
9
chatfielddaniel at googlemail dot com
13 years ago
The function treats '_' as after letters and numbers when it would be placed before logically.
up
4
Marco
8 years ago
Use strnatcmp to avoid the _ problem as mentioned below;

<< The function treats '_' as after letters and numbers when it would be placed before logically. >>
To Top