natsort

(PHP 4 , PHP 5)

natsort --  Zoradiť pole pomocou algoritmu "prirodzeného zoradenia"

Popis

void natsort ( array pole)

Táto funkcia implementuje zoraďovací algoritmus, ktorý zoraďuje alfanumerické reťazce spôsobom akým by to robil človek. Popisuje sa to ako "prirodzené zoradenie". Príklád rozdielu medzi týmto algoritmom a regulernými zoraďovacími algoritmami počítača (použítých v sort()) môžete vidieť nižšie:

Príklad 1. natsort() príklad

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

sort($pole1);
echo
"Standardne zoradovanie\n";
print_r($pole1);

natsort($pole2);
echo
"\nPrirodzene zoradovanie\n";
print_r($pole2);
?>

Horeuvedený kód vygeneruje následujúci výstup:

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

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

Pre viac informácii si pozrite: Stránku Reťazcové porovnanie prirodzeného zoraďovania Martina Poola.

Poznámka: Ak chcete ponechať asociácie index/hodnota, zvážte použitie usort($arr, 'strnatcmp').

Tiež pozri natcasesort(), strnatcmp() a strnatcasecmp().