Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. <?php
  2. /*
  3. A função array_replace_recursive() substitui os valores da primeira matriz com os
  4. valores a partir de matrizes seguintes de forma recursiva.
  5.  
  6. Dica: Você pode atribuir uma matriz para a função.
  7.  
  8. Se uma chave da matriz1 existir na matriz2,
  9. os valores da matriz1 serão substituídos pelos valores de matriz2.
  10. Se a chave só existe no array1, ele será deixado como está.
  11. Se uma chave de existir na matriz2 e não na matriz1, será criado em matriz1.
  12. Se forem utilizadas várias matrizes, valores de matrizes posteriores irão substituir os anteriores.
  13.  
  14. Obs: Se você não especificar uma chave para cada matriz,
  15. esta função irá se comportar exatamente da mesma forma que a função array_replace().
  16.  
  17. Sintaxe: array_replace_recursive(array1,array2,array3...);
  18.  
  19. Parâmetros:
  20. array1 = Obrigatório. Especifica um array.
  21. array2 = Opcional. Especifica uma matriz que irá substituir os valores do array1
  22. array3 = Opcional. Especifica mais matrizes para substituir os valores do array1,
  23. array2, etc. Valores de matrizes posteriores irão substituir os anteriores.
  24.  
  25. EXEMPLO 1
  26. Substituir os valores da primeira matriz com os valores
  27. da segunda matriz de forma recursiva:
  28. */
  29. $a1=array("a"=>array("vermelho"),"b"=>array("verde","azul"),);
  30. $a2=array("a"=>array("amarelo"),"b"=>array("preto"));
  31. print_r(array_replace_recursive($a1,$a2));
  32. /*
  33. Saída: Array ( [a] => Array ( [0] => amarelo )
  34. [b] => Array ( [0] => preto [1] => azul ) )
  35. */
  36. ?>
  37.  
  38.  
  39. <?php
  40. /*
  41. EXEMPLO 2
  42. Matrizes múltiplas:
  43. */
  44. $a1=array("a"=>array("vermelho"),"b"=>array("verde","azul"));
  45. $a2=array("a"=>array("amarelo"),"b"=>array("preto"));
  46. $a3=array("a"=>array("laranja"),"b"=>array("roxo"));
  47. print_r(array_replace_recursive($a1,$a2,$a3));
  48. /*
  49. Saída: Array ( [a] => Array ( [0] => laranja )
  50. [b] => Array ( [0] => roxo [1] => azul ) )
  51. */
  52. ?>
  53.  
  54.  
  55. <?php
  56. /*
  57. EXEMPLO 3
  58. As diferenças entre array_replace() e array_replace_recursive():
  59. */
  60. $a1=array("a"=>array("vermelho"),"b"=>array("verde","azul"),);
  61. $a2=array("a"=>array("amarelo"),"b"=>array("preto"));
  62.  
  63. $result=array_replace_recursive($a1,$a2);
  64. print_r($result);
  65. echo "<br/>";
  66. $result=array_replace($a1,$a2);
  67. print_r($result);
  68. /*
  69. Saída:
  70. Array ( [a] => Array ( [0] => amarelo ) [b] => Array ( [0] => preto [1] => azul ) )
  71. Array ( [a] => Array ( [0] => amarelo ) [b] => Array ( [0] => preto ) )
  72. */
  73. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement