Files
doc-fr/reference/array/functions/sort.xml
Jean-Baptiste Nahan 13a5eab576 Sync with EN
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@345028 c90b9560-bf6c-de11-be94-00142212c4b1
2018-05-16 21:16:23 +00:00

243 lines
6.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0fe00e3574f5267948a29692e8daddaaeb275cee Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.sort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sort</refname>
<refpurpose>Trie un tableau</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>sort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>sort_flags</parameter><initializer>SORT_REGULAR</initializer></methodparam>
</methodsynopsis>
<para>
Cette fonction trie le tableau <parameter>array</parameter>. Les
éléments seront triés du plus petit au plus grand.
</para>
&note.sort-unstable;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Le tableau d'entrée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>sort_flags</parameter></term>
<listitem>
<para>
Le paramètre optionnel <parameter>sort_flags</parameter>
peut être utilisé pour modifier le comportement de tri en
utilisant ces valeurs :
</para>
<para>
Constantes de type de tri :
<itemizedlist>
<listitem>
<simpara><constant>SORT_REGULAR</constant> : compare les éléments normalement
(ne modifie pas les types)</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_NUMERIC</constant> : compare les éléments numériquement</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_STRING</constant> : compare les éléments comme des chaînes
de caractères</simpara>
</listitem>
<listitem>
<simpara>
<constant>SORT_LOCALE_STRING</constant> : compare les éléments
en utilisant la configuration locale.
La locale courante est utilisée, elle peut être changée au moyen de <function>setlocale</function>.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>SORT_NATURAL</constant> - compare les éléments
comme des chaînes de caractères en utilisant l'ordre nature comme le
fait la fonction <function>natsort</function>.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>SORT_FLAG_CASE</constant> - peut être combiné (grâce à
l'opérateur OR) avec <constant>SORT_STRING</constant> ou
<constant>SORT_NATURAL</constant> pour trier les chaînes sans tenir
compte de la casse.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.4.0</entry>
<entry>
Ajout du support des constantes <constant>SORT_NATURAL</constant> et
<constant>SORT_FLAG_CASE</constant> pour le paramètre
<parameter>sort_flags</parameter>
</entry>
</row>
<row>
<entry>5.0.2</entry>
<entry>
Ajout de la constante <constant>SORT_LOCALE_STRING</constant>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>sort</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
]]>
</screen>
</example>
</para>
<para>
Les fruits ont été classés dans l'ordre alphabétique.
</para>
<para>
<example>
<title>Exemple avec <function>sort</function> en utilisant
l'ordre naturel sans tenir compte de la casse</title>
<programlisting role="php">
<![CDATA[
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20
]]>
</screen>
</example>
</para>
<para>
Les fruits ont été classés comme ils l'auraient été avec la fonction
<function>natcasesort</function>.
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.no-key-association;
<note>
<simpara>
Comme la plupart des fonctions de tri de PHP, <function>sort</function>
utilise une implémentation de <link
xlink:href="&url.wiki.quicksort;">Quicksort</link>.
Le pivot est choisie au milieu de la partition, résultant ainsi en une optimisation
du temps pour les tableaux déjà triés. Mais ceci ne reste qu'un détail de
l'implémentation, n'ayant aucun impact pour vous.
</simpara>
</note>
<warning>
<simpara>
Attention lorsque vous triez des tableaux avec des types différents de
valeurs car le résultat de <function>sort</function> est imprévisible.
</simpara>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>asort</function></member>
<member><function>rsort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->