+1

Variáveis Variáveis

criado por Marcelo Pereira Fonseca da Silva em 05/12/2003 9:27am
Detalhe, não errei o nome e escrevi duas vezes não, por isso o coloquei entre aspas.

Qual é o conceito ?

Você pode usar além da variável propriamente dita, o conteúdo dela como nome para fazer uma nova atribuição.

Exemplo da PHP.net

<?php
$a = "ola";
$$a = "mundo";
?>

neste exemplo existem duas variáveis que são $a contendo a palavra ola e $ola que é a "variável variável"

contendo o "mundo"

bom, uma das representações disso é

<?php
echo "$a ${$a}";
?>

Na próxima página trataremos de um exemplo útil na vida real

Comentários:

Mostrando 1 - 10 de 10 comentários
Parabéns Marcelo pelo Artigo.
Essa parte eu nunca havia visto no manual do PHP, realmente por desinteresse. Mas, através do artigo, conheci novas formas o qual não conhecia e estão sendo úteis, como a $var{$var}. Abraços
17/02/2004 12:42pm (~12 anos atrás)

Escrever é dificil pra caramba.. apesar de ter pego alguns exemplos do php.net e ter tentando passar um exemplo é realmente um assnuto complicado..

Valeu novamente pelos comentários.. que muitas vezes agregam valores aos artigos :)
14/12/2003 6:28pm (~13 anos atrás)

Uso esse sistema em meu site.
Estoco as variaveis num arquivo config que incluo nos arquivos do site.
Cada variavel dessa tem um nome e o valor (url).

O que faco e basicamente isso:

-Os links saum desta forma

<a href="?g=principal">
?g=downloads
?g=contato

- ai faco isso:

$go = $_GET['g'];
$add = $$go;

<iframe src=<?=$add?>>

- ai se g=downloads, ele ira procurar pela var downloads e usara seu valor na iframe.



É claro que eu trato os dados que sao provenientes do GET que podem ser perigosos, mas é ate seguro, pois os enderecos sao definidos pelas variveis do config.
13/12/2003 4:14pm (~13 anos atrás)

Concordo com vc, mas acho que ele foi explicativo o suficiente, o problema e que um iniciante naum dispoe de muita logica de programacao, entao fica dificil entender algo tao abstrato, mas acho que ele explico muito bem sim

uma explicacao rapida:

como $a = "ola";
entao
$$a sera $ola pois $a contido em $$a, sera interpretado com "ola", ja que $a vale "ola"

acho que e basicamente isso...
talvez faltaram mais exemplos de uso, pois sao enormes os seus usos
13/12/2003 4:00pm (~13 anos atrás)

Legal, Parabens!!
Agora um iniciante não entenderia muito bem o assunto não, podia ser mais explicativo.

No mais, tudo bem.

;)
13/12/2003 12:11pm (~13 anos atrás)

Bom, eu formulei algo aki, nao testei ainda nao, mas talvez funcione...
Seria legal definir tb, quantos checkboxs há, por meio de uma var e passá-la pelo form
Outra coisa, que nao pus no codigo abaixo, seria o uso, por seguranca, de ${$a}check, em vez de $$a, para que o 'usuario' nao saiba os nomes da variveis a qual se esta atribuindo o valor dos checks


<?php
$num = $_POST['num']; // numero de checkboxs
$a = "ck_$x";

for($x=0;$x<$num;$x++){
$$a = $_POST[$a];
}
?>
08/12/2003 4:11pm (~13 anos atrás)

Nunca havia tentado fazer isso com classes, mas achei super interessante a idéia.. bem Legal David !

Valeu pela dica
06/12/2003 7:18am (~13 anos atrás)

Diogo Gomes disse:
Bem lembrado David, já vi um script de um cara que usava as funções dele assim, de acordo com o que vinha de um GET que estava no link ele fazia um switch e nele tinha uma variável com o nome da função, daí ele só chamava a função depois do switch, muito útil...

Isso eu vi no início do meu aprendizado, e até aí eu nunca tinha visto nada muito útil com o switch... Como o bichinho é bom...
06/12/2003 6:49am (~13 anos atrás)

Lembrando ainda que esse tipo de tratativa com as variáveis pode ser usada para funções e classes. Por exemplo:

$func = "foo";
echo $func($arg1,$arg2,...);

$class= "bar";
$foo = new $class();

--db
05/12/2003 8:22pm (~13 anos atrás)

Diogo Gomes disse:
Gostei do artigo, isso é problema frequente nas listas e fóruns de php, pode ajudar bastante. Sobre as variáveis variáveis, este sim é um recurso interessante do php, e paar utilizar é bem parecido com a manipulação dos valores e das chaves de arrays. Esse é o nosso php...
05/12/2003 3:48pm (~13 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)