PHPnatsort( )
函数用于使用"自然顺序"算法对数组进行排序。 natsort() 函数实现排序算法,但保留原始键和值。此函数是在 PHP 4.0 中引入的。
语法
bool natsort ( array &$array );
参数
参数 | 描述 | 必须/可选 |
---|---|---|
array | 指定要排序的数组 | 必须 |
返回值
natsort( ) 函数在成功时返回 true,在失败时返回 false。
例子1
<?php
$language = array("java 8","php 5","python","Ruby","html");
sort($language);
echo "Standard sorting: ";
print_r($language);
natsort($language);
echo "Natural order: ";
print_r($language);
?>
输出:
Standard sorting: Array
(
[0] => Ruby
[1] => html
[2] => java 8
[3] =>php 5
[4] => python
)
Natural order: Array
(
[0] => Ruby
[1] => html
[2] => java 8
[3] =>php 5
[4] => python
)
(
[0] => Ruby
[1] => html
[2] => java 8
[3] =>php 5
[4] => python
)
Natural order: Array
(
[0] => Ruby
[1] => html
[2] => java 8
[3] =>php 5
[4] => python
)
例子2
<?php
$arr1 = array("code12.php", "code22.php","code2.php", "code3.php", "code1.php");
$arr2 = $arr1;
sort($arr1);
echo "Standard sorting\n";
print_r($arr1);
natsort($arr2);
echo "\nNatural order sorting\n";
print_r($arr2);
?>
输出:
Standard sorting
Array
(
[0] => code1.php
[1] => code12.php
[2] => code2.php
[3] => code22.php
[4] => code3.php
)
Natural order sorting
Array
(
[4] => code1.php
[2] => code2.php
[3] => code3.php
[0] => code12.php
[1] => code22.php
)
Array
(
[0] => code1.php
[1] => code12.php
[2] => code2.php
[3] => code22.php
[4] => code3.php
)
Natural order sorting
Array
(
[4] => code1.php
[2] => code2.php
[3] => code3.php
[0] => code12.php
[1] => code22.php
)
例子3
<?php
$arr1 = array("java8", "php5","python3", "ruby2", "android7");
$arr2 = $arr1;
sort($arr1);
echo "Standard sorting\n";
print_r($arr1);
natsort($arr2);
echo "\nNatural order sorting\n";
print_r($arr2);
?>
输出:
Standard sorting
Array
(
[0] => android7
[1] => java8
[2] => php5
[3] => python3
[4] => ruby2
)
Natural order sorting
Array
(
[4] => android7
[0] => java8
[1] => php5
[2] => python3
[3] => ruby2
)
Array
(
[0] => android7
[1] => java8
[2] => php5
[3] => python3
[4] => ruby2
)
Natural order sorting
Array
(
[4] => android7
[0] => java8
[1] => php5
[2] => python3
[3] => ruby2
)
例子4
<?php
$img1 = array("img12.png", "img10.png", "img2.png", "img1.png");
$img2 = $img1;
sort($img1);
echo "Standard sorting\n";
print_r($img1);
natsort($img2);
echo "\nNatural order sorting\n";
print_r($img2);
?>
输出:
Standard sorting
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Natural order sorting
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Natural order sorting
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)