Files
doc-fr/reference/array/functions/array-multisort.xml
Damien Seguy ea42f58b58 turning entites into chars
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@147452 c90b9560-bf6c-de11-be94-00142212c4b1
2003-12-29 17:04:50 +00:00

135 lines
4.4 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- splitted from ./fr/functions/array.xml, last change in rev 1.30 -->
<!-- last change to 'array-multisort' in en/ tree in rev 1.11 -->
<refentry id="function.array-multisort">
<refnamediv>
<refname>array_multisort</refname>
<refpurpose>Tri multi-dimensionnel</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>array_multisort</methodname>
<methodparam><type>array</type><parameter>ar1</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>arg</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_multisort</function> sert à trier simultanément
plusieurs tableaux, ou bien à trier un tableau multi-dimensionnel,
suivant l'une ou l'autre de ses dimensions. Les clés sont
préservées.
</para>
<para>
Les tableaux passés en arguments sont traités comme les colonnes
d'une table, triées par lignes (un peu comme la clause SQL <literal>ORDER BY</literal>).
Le premier tableau est la clé primaire de tri. Les valeurs du premier
tableau qui sont égales, sont triées grâce au tableau suivant,
et ainsi de suite...
</para>
<para>
La structure des arguments de <function>array_multisort</function> est un peu
inhabituelle, mais elle est plus souple. Le premier argument DOIT être
un tableau, mais les arguments suivants peuvent être des tableaux ou
une ou deux options de tri, prises dans les valeurs suivantes :
</para>
<para>
Options de tri :
<itemizedlist>
<listitem>
<simpara><constant>SORT_ASC</constant> : Tri en ordre ascendant</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_DESC</constant> : Tri en ordre descendant</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Options de type de tri:
<itemizedlist>
<listitem>
<simpara><constant>SORT_REGULAR</constant> : Comparaison normale des valeurs</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_NUMERIC</constant> : Comparaison numérique des valeurs</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_STRING</constant> : Comparaison alphabétique des valeurs</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Une seule option de tri de chaque type peut être appliquée
après un tableau. Une option ne s'applique qu'au tableau
précédent. Tous les autres sont mis par défaut
à <constant>SORT_ASC</constant> et <constant>SORT_REGULAR</constant>.
</para>
<para>
&return.success;
</para>
<para>
<example>
<title>Trier plusieurs tableaux</title>
<programlisting role="php">
<![CDATA[
<?php
$ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2);
?>
]]>
</programlisting>
</example>
</para>
<para>
Dans cet exemple, après le tri, le premier
tableau contient 10, "a", 100, 100; Le deuxième tableau
contient 1, 1, "2", 3. Les entrées du second tableau
correspondant aux valeurs jumelles du premier
tableau (100 et 100), sont aussi triées.
</para>
<para>
<example>
<title>Classer un tableau multi-dimensionnel</title>
<programlisting role="php">
<![CDATA[
<?php
$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);
?>
]]>
</programlisting>
</example>
</para>
<para>
Dans cet exemple, après le tri, le premier tableau contient
10, 100, 100, "a" (tri alphabétique, ordre croissant); Le
deuxième tableau contient 1, 3, "2", 1 (tri
numérique, ordre décroissant).
</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:"../../../../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
-->