1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 15:32:36 +01:00
Files
archived-doc-es/reference/array/functions/array-splice.xml
Pedro Antonio Gil Rodríguez 93f5422bbd Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@339739 c90b9560-bf6c-de11-be94-00142212c4b1
2016-07-29 09:02:38 +00:00

203 lines
6.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: e5c34a343835b58c6e0235c74360ef70c2664720 Maintainer: seros Status: ready -->
<!-- Reviewed: yes Maintainer: seros -->
<refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_splice</refname>
<refpurpose>Elimina una porción del array y la reemplaza con otra cosa</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><initializer>array()</initializer></methodparam>
</methodsynopsis>
<para>
Elimina los elementos designados por <parameter>offset</parameter> y
<parameter>length</parameter> del array <parameter>input</parameter>,
y los reemplaza con los elementos del array
<parameter>replacement</parameter>, si se proporcionan.
</para>
<para>
Observe que las claves numéricas de <parameter>input</parameter> no se preservan.
</para>
<note>
<simpara>
Si <parameter>replacement</parameter> no es un array, será
<link linkend="language.types.array.casting">moldeado</link>
a uno (esto es, <code>(array) $replacement</code>). Esto puede resultar en un comportamiento
inesperado cuando se usa un objeto o <parameter>replacement</parameter> &null;
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>input</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Si el índice dado por <parameter>offset</parameter> es positivo, el inicio de la porción
eliminada estará en ese índice desde el principio del
array <parameter>input</parameter>. Si <parameter>offset</parameter>
es negativo, se comienza desde el final del
array <parameter>input</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Si se omite la longitud dada por <parameter>length</parameter>, se elimina todo
desde <parameter>offset</parameter> hasta el final del array. Si
se especifica <parameter>length</parameter> y es positivo,
se eliminarán tantos elementos como indique la longitud. Si
se especifica <parameter>length</parameter> y es negativo,
el final de la porción eliminada será de tantos elementos como indique la longitud desde
el final del array. Si se especifica <parameter>length</parameter>
y es cero, no se eliminará ningún elemento.
Consejo: para eliminar todo desde
<parameter>offset</parameter> hasta el final del array cuando
también se especifique <parameter>replacement</parameter>, use
<literal>count($input)</literal> para
<parameter>length</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replacement</parameter></term>
<listitem>
<para>
Si se especifica el array <parameter>replacement</parameter>, los
elementos eliminados serán reemplazados con los elementos de este array.
</para>
<para>
Si <parameter>offset</parameter> y <parameter>length</parameter>
son tales que no se elimina nada, los elementos del array
<parameter>replacement</parameter> serán insertados en el lugar
especificado por <parameter>offset</parameter>. Observe que las claves del
array replacement no se preservan.
</para>
<para>
Si <parameter>replacement</parameter> es sólo un elemento, no es
necesario poner <literal>array()</literal>
alrededor de él, a menos que el elemento sea un array, un objeto o &null;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que consiste en los elementos extraídos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos de <function>array_splice</function></title>
<programlisting role="php">
<![CDATA[
<?php
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 2);
// $entrada ahora es array("rojo", "verde")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, -1);
// $entrada ahora es array("rojo", "amarillo")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, count($entrada), "naranja");
// $entrada ahora es array("rojo", "naranja")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, -1, 1, array("negro", "granate"));
// $entrada ahora es array("rojo", "verde",
// "azul", "negro", "granate")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 3, 0, "púpura");
// $entrada ahora es array("rojo", "verde",
// "azul", "púpura", "amarillo");
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Ejemplos de <function>array_splice</function></title>
<para>
Las siguientes sentencias cambian el valor de <varname>$entrada</varname>
de la misma manera:
</para>
<programlisting role="php">
<![CDATA[
<?php
array_push($entrada, $x, $y);
array_splice($entrada, count($entrada), 0, array($x, $y));
array_pop($entrada);
array_splice($entrada, -1);
array_shift($entrada);
array_splice($entrada, 0, 1);
array_unshift($entrada, $x, $y);
array_splice($entrada, 0, 0, array($x, $y));
$entrada[$x] = $y; // para arrays donde la clave es igual al índice
array_splice($entrada, $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
-->