natsort

(PHP 4, PHP 5, PHP 7)

natsort 锟斤拷"锟斤拷然锟斤拷锟斤拷"锟姐法锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷

说锟斤拷

natsort ( array &$array ) : bool

锟斤拷锟斤拷锟斤拷实锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷通锟斤拷锟斤拷锟斤拷母锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷姆锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷惴拷锟斤拷锟斤拷锟皆拷屑锟斤拷锟街碉拷墓锟斤拷锟斤拷锟斤拷獗伙拷锟轿�"锟斤拷然锟斤拷锟斤拷"锟斤拷锟斤拷锟姐法锟斤拷通锟斤拷锟侥硷拷锟斤拷锟斤拷址锟斤拷锟斤拷锟斤拷锟斤拷惴拷锟斤拷锟斤拷锟� sort()锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞撅拷锟斤拷锟�

Note:

If two members compare as equal, their relative order in the sorted array is undefined.

锟斤拷锟斤拷

array

锟斤拷锟斤拷锟� array锟斤拷

锟斤拷锟斤拷值

锟缴癸拷时锟斤拷锟斤拷 TRUE锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.2.10 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷 (锟斤拷锟斤拷 '00005')锟斤拷锟节憋拷锟斤拷锟较伙拷锟斤拷缘锟斤拷锟斤拷锟角帮拷锟斤拷恪�

锟斤拷锟斤拷

Example #1 natsort() 锟斤拷锟斤拷锟矫凤拷锟侥诧拷锟斤拷示锟斤拷

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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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() examples demonstrating potential gotchas

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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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
)

锟轿硷拷

  • natcasesort() - 锟斤拷“锟斤拷然锟斤拷锟斤拷”锟姐法锟斤拷锟斤拷锟斤拷锟斤拷胁锟斤拷锟斤拷执锟叫⌒达拷锟侥革拷锟斤拷锟斤拷锟�
  • 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆憋拷
  • strnatcmp() - 使锟斤拷锟斤拷然锟斤拷锟斤拷锟姐法锟饺斤拷锟街凤拷锟斤拷
  • strnatcasecmp() - 使锟斤拷“锟斤拷然顺锟斤拷”锟姐法锟饺斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街达拷小写锟斤拷