NATCASESORT(3) 1 NATCASESORT(3)natcasesort - Sort an array using a case insensitive "natural order" algorithm
SYNOPSIS
bool natcasesort (array &$array)
DESCRIPTION natcasesort(3) is a case insensitive version of natsort(3).
This function implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value
associations. This is described as a "natural ordering".
PARAMETERS
o $array
- The input array.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
natcasesort(3) example
<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
sort($array1);
echo "Standard sorting
";
print_r($array1);
natcasesort($array2);
echo "
Natural order sorting (case-insensitive)
";
print_r($array2);
?>
The above example will output:
Standard sorting
Array
(
[0] => IMG0.png
[1] => IMG3.png
[2] => img1.png
[3] => img10.png
[4] => img12.png
[5] => img2.png
)
Natural order sorting (case-insensitive)
Array
(
[0] => IMG0.png
[4] => img1.png
[3] => img2.png
[5] => IMG3.png
[2] => img10.png
[1] => img12.png
)
For more information see: Martin Pool's Natural Order String Comparison page.
SEE ALSO natsort(3), The comparison of array sorting functions, strnatcmp(3), strnatcasecmp(3).
PHP Documentation Group NATCASESORT(3)
Check Out this Related Man Page
NATSORT(3) 1 NATSORT(3)natsort - Sort an array using a "natural order" algorithm
SYNOPSIS
bool natsort (array &$array)
DESCRIPTION
This function implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value
associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer
string sorting algorithms (used in sort(3)) can be seen in the example below.
PARAMETERS
o $array
- The input array.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
|5.2.10 | |
| | |
| | Zero padded numeric strings (e.g., '00005') now |
| | essentially ignore the 0 padding. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
natsort(3) examples demonstrating basic usage
<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
asort($array1);
echo "Standard sorting
";
print_r($array1);
natsort($array2);
echo "
Natural order sorting
";
print_r($array2);
?>
The above example will output:
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
)
For more information see: Martin Pool's Natural Order String Comparison page.
Example #2
natsort(3) examples demonstrating potential gotchas
<?php
echo "Negative numbers
";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);
echo "Zero padding
";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);
?>
The above example will output:
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
)
SEE ALSO natcasesort(3), The comparison of array sorting functions, strnatcmp(3), strnatcasecmp(3).
PHP Documentation Group NATSORT(3)