1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-28 01:33:30 +02:00
Files
archived-doc-ru/reference/array/sorting.xml
T
Alexey Pyltsyn b21887f9c3 Yofication
2021-01-03 21:07:35 +03:00

173 lines
6.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 79a458220566758cd6abb064de988bebe9246028 Maintainer: tmn Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<chapter xml:id="array.sorting" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Сортировка массивов</title>
<para>
В PHP есть несколько функций для сортировки массивов, на этой странице
даётся их общее описание.
</para>
<para>
Основные различия между функциями:
</para>
<para>
<simplelist>
<member>
В одних функциях массивы (<type>array</type>) сортируются по ключам
элементов, в других по значениям:
<literal>$array['ключ'] = 'значение';</literal>
</member>
<member>
В каких-то функциях связь между ключами и значениями после сортировки
сохраняется, в каких-то нет. Это может приводить к тому, что ключи будут
сбрасываться в числовые значения (0, 1, 2, ...).
</member>
<member>
Различия в порядке сортировки: алфавитный, возрастающий, убывающий,
числовой, естественный, случайный или определённый пользователем
</member>
<member>
Примечание: Все функции сортировки модифицируют переданный массив, а не
возвращают отсортированную копию
</member>
<member>
Если функции определяют два элемента как равные, порядок сортировки в этом
случае не определён (нестабильная сортировка).
</member>
</simplelist>
</para>
<para>
<table>
<title>Свойства функций сортировки</title>
<tgroup cols="5">
<thead>
<row>
<entry>Имя функции</entry>
<entry>Сортирует по</entry>
<entry>Сохраняет связь ключ - значение</entry>
<entry>Порядок сортировки</entry>
<entry>Похожие функции</entry>
</row>
</thead>
<tbody>
<row>
<entry><function>array_multisort</function></entry>
<entry>значению</entry>
<entry>ассоциативные да, числовые нет</entry>
<entry>первый массив или настройки сортировки</entry>
<entry><function>array_walk</function></entry>
</row>
<row>
<entry><function>asort</function></entry>
<entry>значению</entry>
<entry>да</entry>
<entry>по возрастанию</entry>
<entry><function>arsort</function></entry>
</row>
<row>
<entry><function>arsort</function></entry>
<entry>значению</entry>
<entry>да</entry>
<entry>по убыванию</entry>
<entry><function>asort</function></entry>
</row>
<row>
<entry><function>krsort</function></entry>
<entry>ключу</entry>
<entry>да</entry>
<entry>по убыванию</entry>
<entry><function>ksort</function></entry>
</row>
<row>
<entry><function>ksort</function></entry>
<entry>ключу</entry>
<entry>да</entry>
<entry>по возрастанию</entry>
<entry><function>asort</function></entry>
</row>
<row>
<entry><function>natcasesort</function></entry>
<entry>значению</entry>
<entry>да</entry>
<entry>естественный, нечувствительный к регистру</entry>
<entry><function>natsort</function></entry>
</row>
<row>
<entry><function>natsort</function></entry>
<entry>значению</entry>
<entry>да</entry>
<entry>естественный</entry>
<entry><function>natcasesort</function></entry>
</row>
<row>
<entry><function>rsort</function></entry>
<entry>значению</entry>
<entry>нет</entry>
<entry>по убыванию</entry>
<entry><function>sort</function></entry>
</row>
<row>
<entry><function>shuffle</function></entry>
<entry>значению</entry>
<entry>нет</entry>
<entry>случайный</entry>
<entry><function>array_rand</function></entry>
</row>
<row>
<entry><function>sort</function></entry>
<entry>значению</entry>
<entry>нет</entry>
<entry>по возрастанию</entry>
<entry><function>rsort</function></entry>
</row>
<row>
<entry><function>uasort</function></entry>
<entry>значению</entry>
<entry>да</entry>
<entry>определяется пользователем</entry>
<entry><function>uksort</function></entry>
</row>
<row>
<entry><function>uksort</function></entry>
<entry>ключу</entry>
<entry>да</entry>
<entry>определяется пользователем</entry>
<entry><function>uasort</function></entry>
</row>
<row>
<entry><function>usort</function></entry>
<entry>значению</entry>
<entry>нет</entry>
<entry>определяется пользователем</entry>
<entry><function>uasort</function></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->