Files
doc-fr/reference/array/functions/array-splice.xml
Hartmut Holzgraefe b8daeaab85 banana-split
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@78204 c90b9560-bf6c-de11-be94-00142212c4b1
2002-04-15 00:40:38 +00:00

138 lines
5.3 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-splice' in en/ tree in rev 1.14 -->
<refentry id="function.array-splice">
<refnamediv>
<refname>array_splice</refname>
<refpurpose>
Efface et remplace une portion de tableau
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>array</type><methodname>array_splice</methodname>
<methodparam><type>array</type><parameter>input</parameter></methodparam>
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>
replacement
</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_splice</function> supprime les &eacute;l&eacute;ments
d&eacute;sign&eacute;s par <parameter>offset</parameter> et
<parameter>length</parameter> du tableau <parameter>input</parameter> et
les remplace par les &eacute;l&eacute;ments du tableau
<parameter>replacement</parameter>, si ce dernier est pr&eacute;sent.
</para>
<para>
Si <parameter>offset</parameter> est positif, la s&eacute;rie commencera
&agrave; cet offset dans le tableau <parameter>input</parameter>.
Si <parameter>offset</parameter> est n&eacute;gatif, cette s&eacute;rie
commencera &agrave; l'offset <parameter>offset</parameter> mais en commen&ccedil;ant
&agrave; la fin du tableau <parameter>input</parameter>.
</para>
<para>
Si <parameter>length</parameter> est donn&eacute; et positif, alors la
s&eacute;rie aura autant d'&eacute;l&eacute;ments. Si <parameter>length</parameter>
est donn&eacute; et n&eacute;gatif, les &eacute;l&eacute;ments seront pris
dans l'ordre inverse.
Si <parameter>length</parameter> est omis, la s&eacute;quence lira tous les
&eacute;l&eacute;ments du tableau, depuis l'offset <parameter>offset</parameter>
jusqu'&agrave; la fin du tableau.
Conseil : pour supprimer tous les &eacute;l&eacute;ments du tableau depuis
<parameter>offset</parameter> jusqu'&agrave; la fin, m&ecirc;me si un tableau
de remplacement <parameter>replacement</parameter> est sp&eacute;cifi&eacute;, utilisez
count(<literal>count($input)</literal>) &agrave; la place de length.
</para>
<para>
Si <parameter>replacement</parameter> est pr&eacute;cis&eacute;, alors les
&eacute;l&eacute;ments supprim&eacute;s sont remplac&eacute;s par les
&eacute;l&eacute;ments de ce tableau. Si l'<parameter>offset</parameter>
et <parameter>length</parameter> sont tels que la taille du tableau ne change pas,
alors les &eacute;l&eacute;ments du tableau de remplacement replacement sont
ins&eacute;r&eacute;s &agrave; partir de l'offset <parameter>offset</parameter>.
</para>
<para>
Conseil : si le tableau de remplacement ne contient qu'un seul
&eacute;l&eacute;ment, il n'est pas obligatoire de forcer le type en
tableau avec <function>array</function>, &agrave; moins que cette variable ne soit
elle-m&ecirc;me un tableau.
</para>
<para>
Les codes suivants sont &eacute;quivalents :
<programlisting role="php">
&lt;?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))
$a[$x] = $y array_splice($input, $x, 1, $y)
?&gt;
</programlisting>
</para>
<para>
<function>array_splice</function> retourne le tableau des &eacute;l&eacute;ments
supprim&eacute;s.
</para>
<para>
<example>
<title>Exemples avec <function>array_splice</function></title>
<programlisting role="php">
&lt;?php
// cas simple
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, 2);
// $input est array("rouge", "vert")
// nombre d'&eacute;l&eacute;ments n&eacute;gatif
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, 1, -1);
// $input est array("rouge", "jaune")
// avec un &eacute;l&eacute;ment de remplacement
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, 1, count($input), "orange");
// $input est array("rouge", "orange")
// cas complexe
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, -1, 1, array("noir", "marron"));
// $input est array("rouge", "vert",
// "bleu", "noir", "marron")
?&gt;
</programlisting>
</example>
</para>
<para>
Voir aussi
<function>array_slice</function>.
<note>
<para>
<function>array_splice</function> a &eacute;t&eacute; ajout&eacute;e
en PHP 4.0.
</para>
</note>
</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
-->