Concatenar Variáveis Php
#1
Posted 04/11/2007, 15:46
Estou com um problema na seguinte sintaxe:
$"nomcao$id1" = $_POST["nomcao.$id1"];
Preciso que a variável seja nomcao mais o valor da variável $id1, ou seja, se $id1=1, variável = $nomcao1
Já tentei de todas as formas possiveis, mas não consegui.
Se alguém tiver alguma idéia me fale.
Grata.
#2
Posted 04/11/2007, 16:02
if($id1 = 1){ $variavel = $variavelfinal; } else { $variavel = $variavelinicial; }Se não for isso, se explique melhor, porque está difícil de comprender direito o que tu quer.
E concatenar variáveis seria nada mais, nada menos do que fazer isso:
$variavel = $variavel1." oi ".$variavel2; $variavel = $variavel1.$variavel2;
Edição feita por: Inu, 04/11/2007, 16:06.
#3
Posted 04/11/2007, 16:08
Err.
if($id1 = 1){ $variavel = $variavelfinal; } else { $variavel = $variavelinicial; }Se não for isso, se explique melhor, porque está difícil de comprender direito o que tu quer.
Seguinte, tenho o código :
while($id1!=0){
$"nasc$id1" = $_POST["nasc.$id1"];
$"peso$id1" = $_POST["peso.$id1"];
$"sexo$id1" = $_POST["pet.$id1"];
$"pet$id1" = $_POST["pet.$id1"];
$"racao$id1" = $_POST["racao.$id1"];
$"anual$id1" = $_POST["anual.$id1"];
$"raiva$id1" = $_POST["raiva.$id1"];
$"giardia$id1" = $_POST["giardia.$id1"];
$"gripe$id1" = $_POST["gripe.$id1"];
$"verm$id1" = $_POST["verm.$id1"];
$id1--;
}
Do jeito que está está dando o erro: unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_VARIABLE .
Preciso que o nome da variavel junte-se com o numero da variável id.
Por exemplo: Se $id1=1 variável vai ter o nome $nasc1, $peso1 , $sexo1, etc.
Valew
Edição feita por: cris_gavioli, 04/11/2007, 16:15.
#4
Posted 04/11/2007, 16:20
$variavel1 = $variavel2.$variavel3;Isso do número/nome da variável, acho que com um loop(se for vários números e tu não saber quais/quantos tem) dá para fazer isso. Agora se tu saber quais/quantos, basta um if().
#5
Posted 04/11/2007, 16:28
O único jeito de juntar as variaeis desse jeito é usando a função "eval()" que emula códigos PHP ...
<?php $id1 = "1"; eval("\$nome$id1 = $_POST["nasc" . $id1];"); eval("\$peso$id1 = $_POST["peso" . $id1];"); echo $nome1; echo $peso1; ?>
A maneira mais correta de se fazer isso ao meu modo de intender é com Arrays associar o número em questão a variavel desejada ... tipo assim:
<?php $nasc[$id1] = $_POST["nasc" . $id1]; $peso[$id1] = $_POST["peso" . $id1]; ?>
#6
Posted 04/11/2007, 17:26
Valew então...vou tentar descobrir ql é o problema..
Poxa, não tinha visto sua resposta antes...
Fiz aqui eu deu certo com array...
Brigadão pela ajuda...
Esse tipo de cocatenação não existe é totalmente exdruxula e anti-semantica ...
O único jeito de juntar as variaeis desse jeito é usando a função "eval()" que emula códigos PHP ...<?php $id1 = "1"; eval("\$nome$id1 = $_POST["nasc" . $id1];"); eval("\$peso$id1 = $_POST["peso" . $id1];"); echo $nome1; echo $peso1; ?>
A maneira mais correta de se fazer isso ao meu modo de intender é com Arrays associar o número em questão a variavel desejada ... tipo assim:<?php $nasc[$id1] = $_POST["nasc" . $id1]; $peso[$id1] = $_POST["peso" . $id1]; ?>
#7
Posted 04/11/2007, 22:42
Exemplo:
${"nasc{$id1}"} = $_POST["nasc{$id1}"];Na real, fica bem estranho. Ficaria melhor utilizando matrizes (arrays multidimensionais).
[]s Até mais
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)