1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-24 15:12:13 +01:00
Files
archived-doc-fr/reference/array/functions/array-unique.xml
2023-02-21 01:33:54 -05:00

212 lines
5.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3ba15fd3dfb8196a1762b1a21a14311e0279284b Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<!-- CREDITS: DavidA. -->
<refentry xml:id="function.array-unique" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_unique</refname>
<refpurpose>Dédoublonne un tableau</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_unique</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer><constant>SORT_STRING</constant></initializer></methodparam>
</methodsynopsis>
<para>
<function>array_unique</function> extrait du tableau
<parameter>array</parameter> les valeurs distinctes,
et supprime tous les doublons.
</para>
<para>
Notez que les clés sont préservées. Si plusieurs éléments comparés
sont égaux sous le <parameter>flags</parameter> donné, alors la clé
et la valeur du premier élément égal sera conservé.
</para>
<note>
<simpara>
Deux éléments sont considérés comme égaux si et seulement si
<literal>(string) $elem1 === (string) $elem2</literal>, i.e.
lorsque la représentation en chaîne de caractères est identique.
</simpara>
</note>
</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>flags</parameter></term>
<listitem>
<para>
Le second paramètre optionnel <parameter>flags</parameter>
peut être utilisé pour modifier le comportement de comparaison
en utilisant les valeurs suivantes :
</para>
<para>
Drapeau de type de comparaison :
<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</simpara>
</listitem>
<listitem>
<simpara><constant>SORT_LOCALE_STRING</constant> - compare les éléments comme
des chaînes, suivant la locale courante.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne le tableau filtré.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.2.0</entry>
<entry>
Si <parameter>flags</parameter> est <constant>SORT_STRING</constant>,
précédemment <parameter>array</parameter> était copié et les éléments
non-unique était supprimé (sans compresser le tableau après), mais
maintenant un nouveau tableau est construit en ajoutant les éléments unique.
Par conséquence le résultat final peut avoir des index numérique différent.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>array_unique</function></title>
<programlisting role="php">
<![CDATA[
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[a] => green
[0] => red
[1] => blue
)
]]>
</screen>
</example>
</para>
<para>
<example>
<title>Exemple avec <function>array_unique</function> et les types</title>
<programlisting role="php">
<![CDATA[
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Notez que <function>array_unique</function> ne fonctionne pas
avec des tableaux multidimensionnels.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_count_values</function></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
-->