Login: Senha: Registrar-se - Esqueci minha senha
.: Menu
Home
Artigos
Sign. dos Sonhos
Papel de Parede
Ilusões de Ótica
.: Bancos
Emoticons e Gifs
Ícones
Logos
.: Serviços
Mural de Recados
Usuários Online
Bloco de Notas
Formmail
Meu IP
.: Geradores
Gerador de Senhas
Barra de Rolagem
Recomende
Pop-up
Inverter Link
.: Canais
Apostilas
Arte/Cultura
Blog
Busca
Celular
Downloads
E-mail Grátis
Emoticons
Esportes
Filmes
Flogs
Fontes
GTA Mods
Host Grátis
Humor
Infantil
Informática
Jogos
Jogos Online
Linux
Músicas
Notícias
Offline
Redirecionadores
Sites Parceiros
Webdesigners
Webmasters
.: Na Faixa
Sobre
Contato
Recomende-nos
Termos de uso

Variáveis Variáveis

Enviado em 27/02/2007 - 04:43
Fonte: A A A A

Visite também o site www.prophp.com.br.

Este artigo é uma rápida maneira de ensinar o que é uma dúvida bastante frequente no nosso fórum, como criar sisteminhas que geram automaticamente combos de HTML e usá-las de maneira produtiva para uma exclusão por exemplo!

Variáveis Variáveis

Por Marcelo Pereira Fonseca da Silva

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

num exemplo prático pode ser feito algo como

<?php
// ...
$valor = "algo_$x";
// e $$valor iria conter o que nós queremos..
// ...
?>
você irá entender o exemplo acima quando começarmos a montar o nosso mini script.

Vamos seguir sempre o conceito e tentar implementar isso ai temos então essa porção de código:

<?php
for ($x = 0; $x < 10; $x++) {
    echo "<input type=checkbox name=\"ck_$x\" value=\"OK\">
      Texto Aqui<BR>\n";
}
?>
ai, fizemos um for muito peculiar em sistemas, onde "printamos" na tela o valor retornado do banco de dados e queremos gerar nossos checkbox dinamicamente

notem que o value é sempre o mesmo, e o nome há um fator diferenciado-os que é exatamente o conceito de variável variável, cada nome do formulário é uma variável no PHP e logo estes nomes todos se diferenciam por um código auto incrementado.

Então vamos continuar.. o exemplo completo fica:

<?php

if ($_POST['send']) {

    // aqui entra todo o conceito..

    for ($x = 0; $x < 10; $x++) {
        $valor = "ck_$x";
        if ($$valor == "OK") {
            echo "O id $x foi selecionado!<BR>\n";
        }
    }

} else {
?>

<html>

<form name="legal" method="POST">
<input type="hidden" name="send" value="anything">
<?php
for ($x = 0; $x < 10; $x++) {
    echo "<input type=\"checkbox\" name=\"ck_$x\" value=\"OK\">
      Texto Aqui<BR>\n";
}
?>
<input type="submit" value="go !" name="enviar">
</form>
</html>
<?}?>
a primeira má notícia é que este script vai funcionar somente quando a register_globals estiver habilitada (como On), e a segunda é que não tem como usar algo como ${$_GET} ${$_POST} e assim por diante.

Conforme a dica do Ragen e do Silvano no artigo sobre referência aqui vai a dica de como trabalhar com isso com a register_globals do php.ini setada como off

<?php
$a = &$_GET['foo'];
?>
e então $$a iria conter o conteúdo do vetor por referência e provavelmente com isso dê para trabalhar com a register_globals setada como off.

Não vou fazer um script completo para deixar a imaginação de cada um fluir e termos aqui bons exemplos de como melhorar a idéia proposta acima.

fonte: www.prophp.com.br

Enviado por: brunohcs

Postado em: PHP

Esse artigo foi visualizado 1317 vezes

Compartilhe este artigo
facebook del.icio.us rec6 digg
Recomende este artigo a um amigo


Voltar
>> Comentários
 
Related Posts Plugin for WordPress, Blogger...
Comentar
Buscar Artigos:
.: Mods de GTA
GTA SA, VC, IV
SA - Carros
IV - Carros
Mods
GTA IV
SA - Mods Cleo
.: Saúde
Calculadora de IMC
Peso Ideal
Artigos de Saúde
.: Jogos Online
Ação
Aventura
Cassino
Classicos
Colorir
Corrida
Educativos
Esporte
Estrategia
Infantil
Luta
Meninas
Nave
Tiro
Outros
Adulto
Top Jogos
.: Parceiros
Mural de Recados Grátis
Papel de Parede
Show Moto
Web Visual
.: Nossos Números
Artigos: 931
Categorias: 51
Comentarios: 1863
Usuarios: 26710
Blocos de Nota: 87
Canais: 169

website monitoring service
eXTReMe Tracker
Na Faixa.net - Todos os direitos reservados. 12/2003 - 11/2024
Leia nossos Termos de Uso - Política de Privacidade
Desenvolvido por Web Visual
Crie seu Site - Papel de Parede Grátis - Show Moto - Mural de Recados Grátis - Dicas10