Files
php-doc-ru/reference/array/sorting.xml
Alexey Pyltsyn 32608ad910 Arrays: fix
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@343658 c90b9560-bf6c-de11-be94-00142212c4b1
2017-12-16 10:54:50 +00:00

173 lines
6.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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
-->