Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá,
estou a enviar um email através do phpmiller e para isso estou armazenando a mensagem em uma variável o problema é que no meio da mensagem preciso fazer um foreach para buscar informação que tenho num array na session porém não está sendo está retornando o erro
Parse error: syntax error, unexpected 'foreach' (T_FOREACH)
o meu código é:
<p>Cumpra nº '.$idcompra['idcompra'].'<br>
'.foreach ($dados as $teste):.'
<p>'.$teste['dados']['nomecurso'].'</p>
'.enddeclare;.'
</p>
sendo que isto "<p>'.$teste['dados']['nomecurso'].'</p>" se deve repetir em loop quantas vezes forem necessárias.
Desde já agradecido
>
Essa sintaxe não existe. Não pode concatenar string a foreach
Faça algo assim, concatenando dentro do foreach:
$str = 'início da string';
foreach ($array as $dado)
{
$str .= $dado;
}
echo $str;
Obrigado por sua ajuda. o erro desapareceu mas não ajudou no que pretendia.
a string é algo assim:
$msg= ola......(texto com algumas linhas)
dados da encomenda(deve fazer aqui o foreach para repetir quantas fezes as necessárias.
nome do produto
preço de cada produto ect
acaba foreach
total da encomenda (também armazenada na session)
e termina com mais texto.
posto isto a minha duvida é como faço o foreach fora da variável e coloco os doados a exibirem no sitio certo.
obrigado mais uma vez
Mostre como fez.
Você deve ter feito algo errado
Após reflectir um pouco sobre o que estava fazendo consegui.
para quem tiver a mesma dúvida que eu a estrutura é a a que o @Beraldo indicou.só para clarificar fica assim:
$str = 'início da string';
foreach ($array as $dado)
{
$str .= $dado;
}
$str .= 'fim da string';
echo $str;
obrigado
Essa sintaxe não existe. Não pode concatenar string a foreach
Faça algo assim, concatenando dentro do foreach:
{