Files
doc-fr/reference/array/functions/array-diff-assoc.xml
George Peter Banyard 2d5f2cff57 Sync reference/array/ section with EN
Scrub translated example and copy the EN ones to not need to think about translating
literal tags
2023-08-15 14:45:55 +01:00

203 lines
5.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 6b64170daac5587bee4bb63c0020cb2fbf7f1253 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.array-diff-assoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_diff_assoc</refname>
<refpurpose>Calcule la différence de deux tableaux, en prenant aussi en compte les clés</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_diff_assoc</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
<methodparam rep="repeat"><type>array</type><parameter>arrays</parameter></methodparam>
</methodsynopsis>
<para>
Compare <parameter>array</parameter> avec les tableaux <parameter>arrays</parameter>
et retourne la différence. Contrairement à la fonction <function>array_diff</function>,
les clés du tableau sont également utilisées dans la comparaison.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Le tableau à comparer
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>arrays</parameter></term>
<listitem>
<para>
Tableaux à comparer contre
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne un tableau contenant toutes les valeurs du tableau
<parameter>array</parameter> qui ne sont pas présentes dans les
autres tableaux.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&array.changelog.require-only-one;
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>array_diff_assoc</function></title>
<para>
Dans cet exemple, la paire <literal>"a" =&gt; "green"</literal>
est présente dans les deux tableaux, et donc, n'est pas présente dans le
résultat de la fonction. Au contraire, la paire <literal>0 =&gt; "red"</literal>
est présente dans le résultat, car la clé de <literal>"red"</literal> est
automatiquement assignée à <literal>0</literal> dans le premier tableau,
tandis qu'elle est assignée à <literal>1</literal> dans le deuxième tableau,
car la clé <literal>0</literal> est déjà assigné à <literal>yellow</literal>.
</para>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[b] => brown
[c] => blue
[0] => red
)
]]>
</screen>
</example>
</para>
<para>
<example>
<title>Exemple avec <function>array_diff_assoc</function></title>
<para>
Deux valeurs des paires <emphasis>clé =&gt; valeur</emphasis> sont
considérées comme égales uniquement si <literal>(string) $elem1 === (string)
$elem2 </literal>. En d'autres termes, une vérification stricte est effectuée
sur la représentation en chaînes de caractères.
</para>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0] => 0
[1] => 1
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Cette fonction ne vérifie qu'une dimension d'un tableau multidimensionnel.
Il est possible de vérifier des sous dimensions en utilisant, par example,
<literal>array_diff_assoc($array1[0], $array2[0]);</literal>.
</simpara>
</note>
<note>
<simpara>
Il faut s'assurer que les arguments sont fourni dans le bon ordre lors de la
comparaison entre tableaux similaires avec plus de clés. Le nouveau tableau
doit être le premier de la liste.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_diff</function></member>
<member><function>array_diff_uassoc</function></member>
<member><function>array_udiff_assoc</function></member>
<member><function>array_udiff_uassoc</function></member>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</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
-->