<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >array_splice</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="Arrays" HREF="ref.array.html"><LINK REL="PREVIOUS" TITLE="array_slice" HREF="function.array-slice.html"><LINK REL="NEXT" TITLE="array_sum" HREF="function.array-sum.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.array-slice.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.array-sum.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.array-splice" ></A >array_splice</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN11609" ></A ><P > (PHP 4, PHP 5)</P >array_splice -- Remove uma parcela do array e substitui com outros elementos</DIV ><DIV CLASS="refsect1" ><A NAME="AEN11612" ></A ><H2 >Descrição</H2 >array <B CLASS="methodname" >array_splice</B > ( array &input, int offset [, int length [, array replacement]] )<BR ></BR ><P > <B CLASS="function" >array_splice()</B > remove a sequência de elementos do array <CODE CLASS="parameter" >input</CODE > especificados por <CODE CLASS="parameter" >offset</CODE > e <CODE CLASS="parameter" >length</CODE >, e os substitui com os elementos do array <CODE CLASS="parameter" >replacement</CODE >, se for especificado. Retorna um array contendo os elementos removidos. Note que as chaves numéricas em <CODE CLASS="parameter" >input</CODE > não são preservadas. </P ><P > Se <CODE CLASS="parameter" >offset</CODE > for positivo então o começo da região a ser removida será nessa posição a partir do início do array <CODE CLASS="parameter" >input</CODE >. Se <CODE CLASS="parameter" >offset</CODE > for negativo então o ínicio será dessa distância do final de <CODE CLASS="parameter" >input</CODE >. </P ><P > Se <CODE CLASS="parameter" >length</CODE > for omitido, todos os elementos a partir de <CODE CLASS="parameter" >offset</CODE > até o final do array serão removidos. Se <CODE CLASS="parameter" >length</CODE > for especificado e positivo, então essa quantidade de elementos será removida. Se <CODE CLASS="parameter" >length</CODE > for especificado e negativo então o final da região a ser removida será dessa quantidade de elementos a partir do final do array. Dica: para remover todos elementos a partir de <CODE CLASS="parameter" >offset</CODE > até o final do array quando <CODE CLASS="parameter" >replacement</CODE > também é especificado, use <TT CLASS="literal" >count($input)</TT > para o argumento <CODE CLASS="parameter" >length</CODE >. </P ><P > Se o array <CODE CLASS="parameter" >replacement</CODE > for especificado, então os elementos removidos serão substituidos pelo elementos desse array. Se <CODE CLASS="parameter" >offset</CODE > e <CODE CLASS="parameter" >length</CODE > são dados de forma que nada será removido, então os elementos de <CODE CLASS="parameter" >replacement</CODE > serão inseridos no lugar especificado por <CODE CLASS="parameter" >offset</CODE >. Note que as chaves em <CODE CLASS="parameter" >replacement</CODE > não são preservadas. Dica: se a substituição for de apenas um elemento então não será necessário colocar <TT CLASS="literal" >array()</TT > para ele, a não ser que elementos seja um array. </P ><P > Os seguintes comandos mudam os valores de <CODE CLASS="varname" >$input</CODE > da mesma maneira: <DIV CLASS="table" ><A NAME="AEN11660" ></A ><P ><B >Tabela 1. Equivalências de <B CLASS="function" >array_splice()</B ></B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><TBODY ><TR ><TD > array_push($input, $x, $y) </TD ><TD > array_splice($input, count($input), 0, array($x, $y)) </TD ></TR ><TR ><TD > array_pop($input) </TD ><TD > array_splice($input, -1) </TD ></TR ><TR ><TD > array_shift($input) </TD ><TD > array_splice($input, 0, 1) </TD ></TR ><TR ><TD > array_unshift($input, $x, $y) </TD ><TD > array_splice($input, 0, 0, array($x, $y)) </TD ></TR ><TR ><TD > $input[$x] = $y // para arrays aonde as chaves tem índices iguais </TD ><TD > array_splice($input, $x, 1, $y) </TD ></TR ></TBODY ></TABLE ></DIV > </P ><P > Retorna um array contendo os elementos removidos. </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN11682" ></A ><P ><B >Exemplo 1. Exemplos de <B CLASS="function" >array_splice()</B ></B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$input </font><font color="#007700">= array(</font><font color="#DD0000">"vermelho"</font><font color="#007700">, </font><font color="#DD0000">"verde"</font><font color="#007700">, </font><font color="#DD0000">"azul"</font><font color="#007700">, </font><font color="#DD0000">"amarelo"</font><font color="#007700">);<br /></font><font color="#0000BB">array_splice</font><font color="#007700">(</font><font color="#0000BB">$input</font><font color="#007700">, </font><font color="#0000BB">2</font><font color="#007700">);<br /></font><font color="#FF8000">// $input será agora array("vermelho", "verde")<br /><br /></font><font color="#0000BB">$input </font><font color="#007700">= array(</font><font color="#DD0000">"vermelho"</font><font color="#007700">, </font><font color="#DD0000">"verde"</font><font color="#007700">, </font><font color="#DD0000">"azul"</font><font color="#007700">, </font><font color="#DD0000">"amarelo"</font><font color="#007700">);<br /></font><font color="#0000BB">array_splice</font><font color="#007700">(</font><font color="#0000BB">$input</font><font color="#007700">, </font><font color="#0000BB">1</font><font color="#007700">, -</font><font color="#0000BB">1</font><font color="#007700">);<br /></font><font color="#FF8000">// $input será agora array("vermelho", "amarelo")<br /><br /></font><font color="#0000BB">$input </font><font color="#007700">= array(</font><font color="#DD0000">"vermelho"</font><font color="#007700">, </font><font color="#DD0000">"verde"</font><font color="#007700">, </font><font color="#DD0000">"azul"</font><font color="#007700">, </font><font color="#DD0000">"amarelo"</font><font color="#007700">);<br /></font><font color="#0000BB">array_splice</font><font color="#007700">(</font><font color="#0000BB">$input</font><font color="#007700">, </font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#0000BB">count</font><font color="#007700">(</font><font color="#0000BB">$input</font><font color="#007700">), </font><font color="#DD0000">"laranja"</font><font color="#007700">);<br /></font><font color="#FF8000">// $input será agora array("vermelho", "laranja")<br /><br /></font><font color="#0000BB">$input </font><font color="#007700">= array(</font><font color="#DD0000">"vermelho"</font><font color="#007700">, </font><font color="#DD0000">"verde"</font><font color="#007700">, </font><font color="#DD0000">"azul"</font><font color="#007700">, </font><font color="#DD0000">"amarelo"</font><font color="#007700">);<br /></font><font color="#0000BB">array_splice</font><font color="#007700">(</font><font color="#0000BB">$input</font><font color="#007700">, -</font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#0000BB">1</font><font color="#007700">, array(</font><font color="#DD0000">"preto"</font><font color="#007700">, </font><font color="#DD0000">"marrom"</font><font color="#007700">));<br /></font><font color="#FF8000">// $input será agora array("vermelho", "verde", "azul", "preto", "marrom")<br /></font><font color="#0000BB">$input </font><font color="#007700">= array(</font><font color="#DD0000">"vermelho"</font><font color="#007700">, </font><font color="#DD0000">"verde"</font><font color="#007700">, </font><font color="#DD0000">"azul"</font><font color="#007700">, </font><font color="#DD0000">"amarelo"</font><font color="#007700">);<br /></font><font color="#0000BB">array_splice</font><font color="#007700">(</font><font color="#0000BB">$input</font><font color="#007700">, </font><font color="#0000BB">3</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">, </font><font color="#DD0000">"roxo"</font><font color="#007700">);<br /></font><font color="#FF8000">// A array $input agora é ("vermelho", "verde",<br />// "azul", "roxo", "amarelo");<br /><br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > Veja também <A HREF="function.array-slice.html" ><B CLASS="function" >array_slice()</B ></A >, <A HREF="function.unset.html" ><B CLASS="function" >unset()</B ></A > e <A HREF="function.array-merge.html" ><B CLASS="function" >array_merge()</B ></A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.array-slice.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.array-sum.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >array_slice</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.array.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >array_sum</TD ></TR ></TABLE ></DIV ></BODY ></HTML >