Сортирует массив, используя алгоритм "natural order"


(PHP 5 >= 5.2.0)

ArrayObject::natsortСортирует массив, используя алгоритм "natural order"

Описание

public void ArrayObject::natsort ( void )

Этот метод реализует алгоритм сортировки, при котором порядок цифробуквенных строк будет привычным для человека, сохраняя при этом связь ключ/значение. Иными словами, сортирует массив в "естественный порядок" (natural ordering). Пример отличия между этим алгоритмом и обычными алгоритмами сортировки, (Например, ArrayObject::asort) можно увидеть в примере ниже.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования ArrayObject::natsort()

<?php
$array 
= array("img12.png""img10.png""img2.png""img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo 
"Стандартная сортировка\n";
print_r($arr1);

$arr2->natsort();
echo 
"\nСортировка в естественном порядке\n";
print_r($arr2);
?>

Результат выполнения данного примера:

 Стандартная сортировка ArrayObject Object (     [3] => img1.png     [1] => img10.png     [0] => img12.png     [2] => img2.png )  Сортировка в естественном порядке ArrayObject Object (     [3] => img1.png     [2] => img2.png     [1] => img10.png     [0] => img12.png ) 

Для более подробной информации смотрите страницу Мартина Пула (Martin Pool) » Natural Order String Comparison.

Смотрите также

  • ArrayObject::asort() - Сортирует записи по значению
  • ArrayObject::ksort() - Сортирует записи по ключам
  • ArrayObject::natcasesort() - Сортирует массив, используя регистронезависимый алгоритм "natural order"
  • ArrayObject::uasort() - Сортирует записи, используя пользовательскую функцию для сравнения элементов и сохраняя при этом связь ключ/значение
  • ArrayObject::uksort() - Сортирует массив по ключам, используя пользовательскую функцию для сравнения