PHP 8.4.0 RC2 available for testing

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

Tout comme les autres fonctions de comparaison de chaînes, celle-ci retourne -1 si string1 est inférieure à string2; 1 si string1 est supérieure à string2, et 0 si les deux chaînes sont égales.

Historique

Version Description
8.2.0 Cette fonction retourne désormais -1 ou 1, alors qu'auparavant elle renvoyait un nombre négatif ou positif.

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