Problema de concatenação entre metodos e strings.

Enviada por Hugo 
Hugo
Problema de concatenação entre metodos e strings.
24 de October de 2007 às 09:54PM
Olá,

To com um problema num sistema de enquete que tenho. Tenho uma tabela enquete dessa forma:

ENQUETE
------------
PERGUNTA
RESPOSTA1
RESPOSTA2
RESPOSTA3

Que está alimentada dessa forma, por exemplo:

Pergunta: Quantos anos você tem?
Resposta1: 15 anos
Resposta2: 16 anos
Resposta3: 17 anos

Daí, tenho uma classe que dando um getPergunta() ele retorna: "Quantos anos você tem?" , getResposta1() ele retorna: "15 anos" e assim sucessivamente..

O problema é o seguinte. Tentei fazer um for para ir de 1 até 3 para juntar a getResposta() e ir pegando as respostas. Só que nao estou conseguindo. Esclarecendo..

for ($x=1; $x<=3; $x++) {
echo getResposta.$x.() // Queria que isso ficasse getResposta1(), depois getResposta2() e por fim getResposta3() pra poder retornar corretamente.
}

Mas nao consigo de jeito nenhum. Se alguem souber, me ajuda por favor!

Tentei com eval() também dessa forma:

$x = 1;

$y = "\$enqueteResp->getResp".$x."();";
$z = eval($y);

echo $z;

Mas ele nao retorna nada, mas era pra retornar: 15 anos.

Valeu pessoal!
Regis Diogo
Re: Problema de concatenação entre metodos e strings.
25 de October de 2007 às 03:00PM
Jovem, o parametro do método fica dentro das arpas, no lugar de todos argumentos que você vai passar.
Então você vai ter 4 métodos para pegar uma resposta?! (getResposta1(), depois getResposta2() e por fim getResposta3())
Claro que não, vai ter apenas um onde você vai passar o id da resposta que vocÊ quer pegar:
getResposta($id) {}
Então ficaria:
getResposta(1);
getResposta(2);
getResposta(3);
..
getResposta(x);
Cau
Re: Problema de concatenação entre metodos e strings.
13 de November de 2007 às 06:54PM
Que tal algo assim?

function idade($a) { return $a." anos"; }

idade(15);
idade(16);
idade(17);
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.