1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-25 15:42:16 +01:00
Files
archived-doc-fr/reference/array/functions/array-splice.xml
JulienPauli dc8df3fd58 Sync doc with En
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@297519 c90b9560-bf6c-de11-be94-00142212c4b1
2010-04-05 15:54:06 +00:00

210 lines
6.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d6f393442baa05d31a005a940aacf5185d8cd563 Maintainer: jpauli Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_splice</refname>
<refpurpose>Efface et remplace une portion de tableau</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_splice</methodname>
<methodparam><type>array</type><parameter role="reference">input</parameter></methodparam>
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>replacement</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_splice</function> supprime les éléments
désignés par <parameter>offset</parameter> et
<parameter>length</parameter> du tableau <parameter>input</parameter> et
les remplace par les éléments du tableau
<parameter>replacement</parameter>, si ce dernier est présent.
</para>
<para>
Notez que les clés numériques de <parameter>input</parameter>
ne sont pas préservées.
</para>
<note>
<simpara>
Si <parameter>replacement</parameter> n'est pas un tableau, il sera
<link linkend="language.types.array.casting">transtypé</link> en 1
(i.e. <code>(array) $parameter</code>). Cela peut conduire en
un résultat non prévu lors de l'utilisation d'un objet ou &null; comme
paramètre <parameter>replacement</parameter>.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>input</parameter></term>
<listitem>
<para>
Le tableau d'entrée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Si <parameter>offset</parameter> est positif, la série commencera
à cet offset dans le tableau <parameter>input</parameter>.
Si <parameter>offset</parameter> est négatif, cette série
commencera à l'offset <parameter>offset</parameter>, mais en commençant
à la fin du tableau <parameter>input</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Si <parameter>length</parameter> est donné et positif, alors la
série aura autant d'éléments. Si <parameter>length</parameter>
est donné et négatif, les éléments seront pris
dans l'ordre inverse.
Si <parameter>length</parameter> est omis, la séquence lira tous les
éléments du tableau, depuis l'offset <parameter>offset</parameter>
jusqu'à la fin du tableau.
Conseil : pour supprimer tous les éléments du tableau depuis
<parameter>offset</parameter> jusqu'à la fin, même si un tableau
de remplacement <parameter>replacement</parameter> est spécifié, utilisez
<literal>count($input)</literal> à la place de
<parameter>length</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replacement</parameter></term>
<listitem>
<para>
Si <parameter>replacement</parameter> est précisé, alors les
éléments supprimés sont remplacés par les
éléments de ce tableau.
</para>
<para>
Si l'<parameter>offset</parameter>
et <parameter>length</parameter> sont tels que la taille du tableau ne
change pas, alors les éléments du tableau de remplacement
<parameter>replacement</parameter> sont
insérés à partir de l'offset <parameter>offset</parameter>.
Notez que les clés numériques de <parameter>input</parameter>
ne sont pas préservées.
</para>
<para>
Si le tableau de remplacement <parameter>replacement</parameter>
ne contient qu'un seul élément, il n'est pas obligatoire de
forcer le type en tableau avec <function>(array)</function>,
à moins que cette variable ne soit elle-même un tableau, un objet ou &null;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne le tableau contenant les éléments supprimés.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>array_splice</function></title>
<programlisting role="php">
<![CDATA[
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input is now array("red", "orange")
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input is now array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input is now array("red", "green",
// "blue", "purple", "yellow");
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Exemple avec <function>array_splice</function></title>
<para>
L'exemple suivant modifie les valeurs de <varname>$input</varname>
de la même façon :
</para>
<programlisting role="php">
<![CDATA[
<?php
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input, 0, 1);
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
$input[$x] = $y; // pour les tableaux dont les clés sont égales à l'offset
array_splice($input, $x, 1, $y);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_slice</function></member>
<member><function>unset</function></member>
<member><function>array_merge</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
-->