Strnatcmp()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

strnatcmp

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

strnatcmp — Strängjämförelser med en "naturlig ordning"-algoritm

Beskrivning

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

Denna funktion implementerar en jämförelsealgoritm som ordnar alfanumeriska strängar på det sätt som en människa skulle göra, vilket beskrivs som en "naturlig ordning". Observera att denna jämförelse är skiftlägeskänslig.

Parametrar

string1
Den första strängen.
string2
Den andra strängen.

Returvärden

Liksom andra strängjämförelsefunktioner returnerar denna -1 om string1 är mindre än string2; 1 om string1 är större än string2, och 0 om de är lika.

Ändringslogg

Version Beskrivning
8.2.0 Funktionen returnerar nu -1 eller 1, där den tidigare returnerade ett negativt eller positivt tal.

Exempel

Ett exempel på skillnaden mellan denna algoritm och vanliga datormässiga strängsorteringsalgoritmer (används i strcmp()) kan ses nedan:

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Standard string comparison\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nNatural order string comparison\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Exemplet ovan kommer att skriva ut:

Standard string comparison
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)

För mer information se: Martin Pools » Natural Order String Comparison page.

Se även

preg_match()
Utför en reguljäruttrycksmatchning
strcasecmp()
Binärsäker skiftlägesokänslig strängjämförelse
substr()
Returnerar en del av en sträng
stristr()
Skiftlägesokänslig strstr
strcmp()
Binärsäker strängjämförelse
strncmp()
Binärsäker strängjämförelse av de första n tecknen
strncasecmp()
Binärsäker skiftlägesokänslig strängjämförelse av de första n tecknen
strnatcasecmp()
Skiftlägesokänsliga strängjämförelser med en "naturlig ordning"-algoritm
strstr()
Hitta det första förekomsten av en sträng
natsort()
Sortera en array med en "naturlig ordning"-algoritm
natcasesort()
Sortera en array med en skiftlägesokänslig "naturlig ordning"-algoritm