search for in the  
<strnatcasecmpstrncasecmp>
Last updated: Thu, 19 May 2005

strnatcmp

(PHP 4, PHP 5)

strnatcmp --  String comparisons using a "natural order" algorithm

Description

int strnatcmp ( string str1, string str2 )

This function implements a comparison algorithm that orders alphanumeric strings in the way a human being would, this is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in strcmp()) can be seen below:

<?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);
?>

The code above will generate the following output:

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
)

For more information see: Martin Pool's Natural Order String Comparison page.

Similar to other string comparison functions, this one returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.

Note that this comparison is case sensitive.

See also ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() and natcasesort().



User Contributed Notes
strnatcmp
public at macfreek dot nl
15-Aug-2002 09:03
The URI of Martin Pool's page is http://sourcefrog.net/projects/natsort/
(Yes, that's frog, not forge).

http://www.naturalordersort.org/ points to a page with the same idea, by Stuart Cheshire, who wrote a small Mac extension to do natural sorting.

<strnatcasecmpstrncasecmp>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT