natsortСортирует массив, для чего использует алгоритм «естественной сортировки»
&reftitle.description;
truenatsortarrayarray
Эта функция использует алгоритм сортировки, который упорядочивает
буквенно-цифровые строки так, как это сделал бы человек. При этом
функция сохраняет связи между ключами и значениями. Такой алгоритм называется natural ordering.
Пример ниже показывает различия между этим алгоритмом и обычными компьютерными алгоритмами сортировки строк,
которые использует функция sort.
¬e.sort-unstable;
¬e.reset-index;
&reftitle.parameters;
array
Входной массив.
&reftitle.returnvalues;
&return.true.always;
&reftitle.changelog;
&Version;&Description;
&return.type.true;
&reftitle.examples;
Простой пример использования natsort
]]>
&example.outputs;
img1.png
[1] => img10.png
[0] => img12.png
[2] => img2.png
)
Сортировка natural order
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
]]>
Подробнее об алгоритме рассказывает страница Martin Pool
Natural Order String Comparison.
Примеры показывают ошибки, которые возникают при использовании функции natsort
]]>
&example.outputs;
-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
)
]]>
&reftitle.seealso;
natcasesort&seealso.array.sorting;strnatcmpstrnatcasecmp