Substitua os valores do primeiro array ($a1) pelos valores do segundo array ($a2):
<?php$a1=array("vermelho","verde");$a2=array("azul","amarelo");print_r(array_replace($a1,$a2));?>A função array_replace() substitui os valores do primeiro array pelos valores do array seguinte.
Dica: você pode passar um array, ou vários arrays, para a função.
Se uma chave existir na primeira matriz array1 e também existir na segunda matriz array2, o valor na primeira matriz array1 será substituído pelo valor na segunda matriz array2. Se uma chave existir apenas no primeiro array array1, ela permanecerá inalterada. (Veja o Exemplo 1 abaixo para detalhes)
Se existir uma chave no segundo array, array2, mas não no primeiro array, array1, o elemento será criado no primeiro array, array1. (Veja o Exemplo 2 abaixo para detalhes)
Se vários arrays de substituição forem passados, eles serão processados em ordem e os valores dos arrays subsequentes substituirão os valores dos arrays anteriores. (Veja o Exemplo 3 abaixo para detalhes)
Dica: Use array_replace_recursive() para substituir recursivamente os valores do primeiro array pelos valores dos arrays subsequentes.
array_replace( array1,array2,array3... )
parâmetro | descrever |
---|---|
matriz1 | Obrigatório. Especifique uma matriz. |
matriz2 | Opcional. Especifica uma matriz para substituir o valor de array1 . |
matriz3,... | Opcional. Especifique vários arrays para substituir os valores de array1 e array2, .... Os valores da matriz a seguir substituirão os valores da matriz anterior. |
Valor de retorno: | Retorna a matriz substituída ou NULL se ocorrer um erro. |
---|---|
Versão PHP: | 5.3.0+ |
Se uma chave existir na primeira matriz array1 e também existir na segunda matriz array2, o valor na primeira matriz array1 será substituído pelo valor na segunda matriz array2. Se uma chave existir apenas no primeiro array array1, ela permanecerá inalterada.
<?php$a1=array("a"=>"vermelho","b"=>"verde");$a2=array("a"=>"laranja","bordô");print_r(array_replace( $a1,$a2));?>Se existir uma chave no segundo array, array2, mas não no primeiro array, array1, o elemento será criado no primeiro array, array1.
<?php$a1=array("a"=>"vermelho","verde");$a2=array("a"=>"laranja","b"=>"bordô");print_r(array_replace( $a1,$a2));?>Usando três arrays - o último array ($a3) irá sobrescrever os arrays anteriores ($a1 e $a2):
<?php$a1=array("vermelho","verde");$a2=array("azul","amarelo");$a3=array("laranja","bordô");print_r(array_replace($ a1,$a2,$a3));?>Use chaves numéricas - se existir uma chave no segundo array array2, mas não no primeiro array array1, o elemento será criado no primeiro array array1:
<?php$a1=array("vermelho","verde","azul","amarelo");$a2=array(0=>"laranja",3=>"bordô");print_r(array_replace($ a1,$a2));?>