Opa

Usa-se { e } para trabalhar com variáveis variáveis. Usando { } voce pode
concatenar strings, como o Douglas mostrou em seu exemplo, ou usar "$$"
Nesse caso o nome completo da variavel vai ser passado, no exemplo abaixo
"$proc" tem o valor de "teste", que é passado como o nome da variavel
$teste, que tem o valor "valor_teste" que é passado para a propriedade da
classe, que tem o valor "teste de variavel variavel"...

Veja o código abaixo:

class Teste extends Controller {

    function Teste () {
        parent::Controller();
    }

    function index() {
        $this->processa = "variavel do objeto";
        $this->valor_teste = "teste de variavel variavel";
        $var = 'processa';
        $teste = "valor_teste";
        $proc = 'teste';
        echo $this->{$var}(); // Aqui vai exibir "retorno da funcao"...
        echo '<hr>';
        echo $this->{$var}; // Aqui vai exibir "variavel do objeto"...
        echo '<hr>';
        echo $this->$$proc; // Aqui vai exibir "teste de variavel
variavel"...
    }

    function processa() {
        echo "retorno da funcao";
    }

}

Manual: http://www.php.net/language.variables.variable

2009/1/27 Djalma Araújo | www.djalmaaraujo.com.br <[email protected]>

> Quando colocamos por exemplo. $this->{$var} = 'teste';
> qual o papel dos {} ?
>
> --
> Atenciosamente,
> Djalma Araújo
> Consultor / Desenvolvedor WEB.
> www.djalmaaraujo.com.br
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a