ArrayObject::natsort
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::natsort — Sort entries using a "natural order" algorithm
说明
This method 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 ArrayObject::asort) method can be seen in the example below.
注意:
如果两个成员完全相同,那么它们将保持原来的顺序。 在 PHP 8.0.0 之前,它们在排序数组中的相对顺序是未定义的。
参数
此函数没有参数。
返回值
没有返回值。
示例
示例 #1 ArrayObject::natsort() example
<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");
$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;
$arr1->asort();
echo "Standard sorting\n";
var_dump($arr1);
$arr2->natsort();
echo "\nNatural order sorting\n";
var_dump($arr2);
?>以上示例会输出:
Standard sorting
object(ArrayObject)#1 (1) {
  ["storage":"ArrayObject":private]=>
  array(4) {
    [3]=>
    string(8) "img1.png"
    [1]=>
    string(9) "img10.png"
    [0]=>
    string(9) "img12.png"
    [2]=>
    string(8) "img2.png"
  }
}
Natural order sorting
object(ArrayObject)#2 (1) {
  ["storage":"ArrayObject":private]=>
  array(4) {
    [3]=>
    string(8) "img1.png"
    [2]=>
    string(8) "img2.png"
    [1]=>
    string(9) "img10.png"
    [0]=>
    string(9) "img12.png"
  }
}
For more information see: Martin Pool's » Natural Order String Comparison page.
参见
- ArrayObject::asort() - Sort the entries by value
 - ArrayObject::ksort() - Sort the entries by key
 - ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
 - ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
 - ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
 - natsort() - 用“自然排序”算法对数组排序
 
  +添加备注
  
 用户贡献的备注
此页面尚无用户贡献的备注。