# natsort

(PHP 4, PHP 5, PHP 7)

natsort 用“自然排序”算法对数组排序

### 说明

natsort ( array `&\$array` ) : bool

Note:

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

`array`

### 更新日志

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

``` <?phpecho "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
)

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
)
```