Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Apokalypse

&$variavel

Recommended Posts

Pergunta idiota, mas como nunca usei fico na dúvida:

 

function FuncaoAlguma(&$dados){   // um monte de código}

Então..o que significa aquele & na frente da string $dados?? Eu sei que tem alguma coisa a ver com 'seguir o valor' ou algo assim.

 

Para que usar isto? No que ele é util?

 

Alguem poderia dar um exemplo prático do uso?

 

Valeu!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ignorem...preguiça é f***. Achei no site oficial.

 

http://www.php.net/manual/pt_BR/language.references.php

 

Tem aqui no fórum tb...

 

Ta..mas vai outra dúvida agora:

 

Então, se eu fizer a funcao assim:

 

function Funcao(&$var){// codigo}
significa que na primeira vez q eu chamar a função eu chamo assim:

Funcao($var);
e na proxima eu chamo assim:

Funcao();
Ai ele já sabe que tem que pegar o valor de var sem eu ter que especificar??? é isso????

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade, é um pouco diferente disso. Quando você especifica uma variável como parâmetro de uma função no PHP, na hora em que você executá-la, o que acontece com a variável que é passada? O PHP faz uma cópia dela para que seja utilizada dentro da função. Portanto, se você fizer:

 

function dobro($valor) {
$valor = $valor * 2;
}

$x = 2;
dobro($x);
echo $x;

 

O valor da variável $x não foi alterado, certo? Na hora em que você executou a função, o PHP criou uma cópia da variável $x para que ela fosse utilizada dentro dessa função, de forma que a variável original não teve seu valor alterado. No entanto, se você colocar o "&" antes da variável $valor na definição da função, o valor da variável $x seria alterado. Ele não criaria uma nova variável na memória, mas sim criaria um ponteiro para aquele trecho da memória que já está sendo utilizado pra armazenar o valor de $x. Ou seja, qualquer alteração na variável $valor dentro da função, alteraria a variável $x. Que na realidade seria a mesma variável.

 

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.