Criação de Variável Dinâmica. Como fazer?

Tenho uma consulta onde, no evento OnRecord, eu preciso criar uma variável com o valor encontrado no código do registro e atribuir a ela um valor.
Por exemplo:
No registro número 0001 (string), tem um campo com valor R$ 100 (numérico).
Preciso criar uma variável que fique assim $v0001 e atribuir a ela o valor R$ 100. Ou $v0001=100.
A concatenação ficaria assim:
‘$v’.’{codigo}’ = 100

Tentei de todas as maneiras, mas não consegui juntar ‘$v’ a nada, pois quando coloco ‘$’, o SC já interpreta como variável e não o concatena com uma string.
Alguma ideia?

1 Curtida

ta errado isso.
si quer criar variável dinâmica estude mais…

veja como deve ser…


${"minha_var_dinamica1"} = 'Valor para a primeria VAR dimanica';
echo $minha_var_dinamica1;
${"minha_var_dinamica2"} = 'Valor para a segunda VAR dimanica';
echo $minha_var_dinamica2;

Tenho estudado.
Tentei fazer conforme sua sugestão.

A minha linha de código ficou assim:

${indicador_id}={Indic_valor_mes};

Mas retornou o seguinte erro:
Parse error: syntax error, unexpected ‘=’, expecting variable (T_VARIABLE) or ‘$’ in C:\Program Files …

Tente, então, criar uma variável com o valor e, depois, atribuir essa variável à variável dinâmica.

$valor = {Indic_valor_mes};
${indicador_id}=$valor;

Não cria as variáveis dinâmicas e nem atribui os valores e retorna a seguinte mensagem a cada linha do grid.

Atenção
Object of class finaliza_movimento_mensal_grid to string conversion

Vou continuar tentando. Quando conseguir, posto aqui.

Existem duas maneiras de fazer isso com $$ ou por vetor

Dá uma olhada nesse link para entender o $$
http://www.vivaolinux.com.br/dica/Variaveis-variaveis-em-PHP

Já tive essa necessidade e resolvi por array como segue um exemplo

$_SESSION[{indicador_id}]=$valor;

E acessa por $_SESSION[{indicador_id}]

1 Curtida

Rodrigo, obrigado por estar tentado me ajudar.
Já havia verificado o $$, mas creio que o melhor caminho será mesmo por array.
Vou tentar.

No começo disse que tava errado y segue errado

veja si com este exemplo le aclara…

Evento Onload do meu formulario


${{USUARIO_ACTUAL}} = {USUARIO_ACTUAL};
echo $oscar;  //A primeira linha sei que tem oscar e para demostrar como seria o exemplo

Veja em imagem , veja bem no canto esquerdo da tela onde faz a impressão do valor da variavel…

Willian, essa sintaxe realmente lê o valor atual da variável. Aí tentei gravar todas as variáveis criadas e os respectivos valores.
Cheguei ao comando abaixo, que resolveu o problema.

$_SESSION["{indicador_id}"] = {indic_valor_mes};

A sintaxe acima lê o código do registro atual ["{indicador_id}"], o valor atual do campo Valor {indic_valor_mes} e grava ambos na Sessão atual, dessa forma eu consigo recuperar esses valores para cálculos no evento OnRecord.

Quero agradecer sua colaboração e também a do Rodrigo.
Para mim, foi um grande aprendizado e espero que ajude outros colegas na mesma situação que a minha.

Valeu

1 Curtida

blz Valter…