Fórum valor e referencia #452840
21/08/2013
0
Marcio Araujo
Curtir tópico
+ 0Posts
24/08/2013
Mauricio Padua
Gostei + 0
25/08/2013
William
No modo comum é passado uma cópia do valor contido na variável.
Quando manipulamos o valor de uma variável passada por referência, estamos alterando o diretamente o valor da variável original, veja esse exemplo:
// Função que recebe o parâmetro por referência
function ModificaValor(&$valor){
$valor = 'Portal ' . $valor;
}
// Variável com valor original
$variavel = 'DevMedia';
// Chama a função e passa como parâmetro a variável
ModificaValor($variavel);
// Escreve o valor contido na variável
echo $variavel;
A saída desse exemplo seria: "Portal DevMedia"
Agora da maneira comum, simplesmente retiramos o carácter '&' antes do parâmetro da função:
// Função que recebe uma cópia do valor contido na variável
function ModificaValor($valor){
$valor = 'Portal ' . $valor;
}
// Variável com valor original
$variavel = 'DevMedia';
// Chama a função e passa como parâmetro a variável
ModificaValor($variavel);
// Escreve o valor contido na variável
echo $variavel;
A saída desse exemplo seria: "DevMedia"
Observe a saída dos 2 exemplos e veja que no primeiro a função altera diretamente o valor da variável e no segundo a função altera somente uma cópia do valor, mas quando mandei escrever o valor original ficou intacto.
Qualquer dúvida poste novamente ...
Gostei + 0
25/08/2013
Marcio Araujo
Gostei + 0
25/08/2013
Mauricio Padua
Gostei + 0
25/08/2013
William
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)