Natsort(): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== natsort == (PHP 4, PHP 5, PHP 7, PHP 8) natsort — Sortera en array med en "naturlig ordning"-algoritm == Beskrivning == <pre> natsort(array &$array): true </pre> Denna funktion implementerar en sorteringsalgoritm som ordnar alfanumeriska strängar på det sätt som en människa skulle göra samtidigt som nyckel/värde-associationer bibehålls. Detta beskrivs som en "naturlig ordning". Ett exempel på skillnaden mellan denna algoritm och vanliga datormässiga strä...')
(Ingen skillnad)

Versionen från 11 augusti 2024 kl. 06.07

natsort

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

natsort — Sortera en array med en "naturlig ordning"-algoritm

Beskrivning

natsort(array &$array): true

Denna funktion implementerar en sorteringsalgoritm som ordnar alfanumeriska strängar på det sätt som en människa skulle göra samtidigt som nyckel/värde-associationer bibehålls. Detta beskrivs som en "naturlig ordning". Ett exempel på skillnaden mellan denna algoritm och vanliga datormässiga strängsorteringsalgoritmer (används i sort()) kan ses i exemplet nedan.

Notera:

Om två medlemmar jämförs som lika behåller de sin ursprungliga ordning. Före PHP 8.0.0 var deras relativa ordning i den sorterade arrayen odefinierad.

Notera:

Återställer arrayens interna pekare till det första elementet.

Parametrar

array
Input-arrayen.

Returvärden

Returnerar alltid true.

Ändringslogg

Version Beskrivning
8.2.0 Returtypen är nu true; tidigare var det bool.

Exempel

Exempel #1 natsort()-exempel som demonstrerar grundläggande användning

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

asort($array1);
echo "Standard sorting\n";
print_r($array1);

natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);
?>

Exemplet ovan kommer att skriva ut:

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

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

Exempel #2 natsort()-exempel som demonstrerar potentiella fallgropar

<?php
echo "Negative numbers\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);

echo "Zero padding\n";
$zeros = array('09', '8', '10', '009', '011', '0'); 
print_r($zeros);
natsort($zeros);
print_r($zeros);
?>

Exemplet ovan kommer att skriva ut:

Negative numbers
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

Zero padding
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Se även

natcasesort()
Sortera en array med en skiftlägesokänslig "naturlig ordning"-algoritm
Jämförelse av arraysorteringsfunktioner
strnatcmp()
Strängjämförelser med en "naturlig ordning"-algoritm
strnatcasecmp()
Skiftlägesokänsliga strängjämförelser med en "naturlig ordning"-algoritm