valor e referencia

21/08/2013

0

PHP

no PHP existe como passar por valor e por referencia...e por favor, alguem poderia me explicar como funciona.
Marcio Araujo

Marcio Araujo

Responder

Posts

24/08/2013

Mauricio Padua

eu queria tambem saber isso.
Responder

25/08/2013

William

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:
// 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 ...

Responder

25/08/2013

Marcio Araujo

obrigado pela explicação, mais claro impossivel.
Responder

25/08/2013

Mauricio Padua

otima explicação.
Responder

25/08/2013

William

Sanada a dúvida estou encerrando o post!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar