Nesta aula aprenderemos a diferença entre a passagem de argumentos por valor e por referência. Também aprenderemos como funciona a passagem por referência e a forma como o PHP manipula os parâmetros. |
ARGUMENTOS POR REFERÊNCIA
Quando definimos uma variável como sendo argumento de uma função, ocorre que o valor contido nessa variável é copiado para a variável-parâmetro da função. Na maior parte das vezes esse tipo de funcionamento é o ideal, porém, se estivermos trabalhando com um Array que contenha por exemplo, 100.000 elementos, teremos uma situação em que ao invocarmos a função todos os itens desse Array serão copiados para a variável-parâmetro.
A linguagem nos disponibiliza uma forma de passarmos um parâmetro enviando o endereço de uma variável ao invés de passarmos uma cópia do valor de uma variável. Ao passarmos o endereço de uma variável teremos uma situação em que todas as ações que forem feitas nessa variável irão alterar a estrutura original.
$a = [1,2,3];
$b = $a;
$a[1] = 5;
print_r($a);
print_r($b);
EXEMPLO FEITO EM AULA
$a = [1,2,3];
$b = &$a;
$a[1] = 5;
print_r($a);
print_r($b);
Tags curso, php
Comentários
comments powered by Disqus