valor e referencia
no PHP existe como passar por valor e por referencia...e por favor, alguem poderia me explicar como funciona.
Marcio Araujo
Curtidas 0
Respostas
Mauricio Padua
21/08/2013
eu queria tambem saber isso.
GOSTEI 0
William
21/08/2013
Márcio, passar valores por referência significa que será passado para uma determinada função o endereço de memória onde está alocada aquela variável. É usado o carácter '&' antes do parâmetro recebido pela função.
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:
A saída desse exemplo seria: "Portal DevMedia"
Agora da maneira comum, simplesmente retiramos o carácter '&' antes do parâmetro da função:
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 ...
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
Marcio Araujo
21/08/2013
obrigado pela explicação, mais claro impossivel.
GOSTEI 0
Mauricio Padua
21/08/2013
otima explicação.
GOSTEI 0
William
21/08/2013
Sanada a dúvida estou encerrando o post!
GOSTEI 0