strnatcmp

(PHP 4 >= 4.0.0)

strnatcmp -- Porovnßnφ °et∞zc∙ algoritmem "p°irozenΘho t°φd∞nφ"

Popis

int strnatcmp ( string str1, string str2)

Tato funkce implementuje srovnßvacφ algoritmus kter² t°φdφ alfanumerickΘ °et∞zce stejn²m zp∙sobem jako Φlov∞k, toto se popisuje jako "p°irozenΘ t°φd∞nφ". Ukßzka rozdφlu m∞zi tφmto algoritmem a b∞╛n²mi poΦφtaΦov²mi algoritmy pro °azenφ °et∞zc∙ (nap°. strcmp()):

$arr1 = $arr2 = array ("img12.png","img10.png","img2.png","img1.png");
echo "Standardnφ porovnßvßnφ °et∞zc∙\n";
usort($arr1,"strcmp");
print_r($arr1);
echo "\nP°irozenΘ porovnßvßnφ °et∞zc∙\n";
usort($arr2,"strnatcmp");
print_r($arr2);

V²╣e uveden² k≤d vygeneruje nßsledujφcφ v²stup:

Standardnφ porovnßvßnφ °et∞zc∙
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

P°irozenΘ porovnßvßnφ °et∞zc∙
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)

Vφce informacφ viz strßnka Martina Poola Natural Order String Comparison.

Podobn∞ jako jinΘ funkce pro porovnßvßnφ °et∞zc∙ i tato vracφ < 0 pokud je str1 men╣φ ne╛ str2; > 0 pokud je str1 v∞t╣φ ne╛ str2, a 0 pokud jsou shodnΘ.

Pozn.: toto porovnßnφ je case-sensitive.

Viz takΘ: ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() a natcasesort().