Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2009, 17:31
Avatar de IMAC/
IMAC/
 
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Puedo imprimir con ECHO y no guardar en variable

Buenas

Es un asunto un poco curioso que no se a que puede ser debido.
No entiendo la diferencia entre usar los caracteres . y , para concatenar cadenas, y bueno, el código que tengo extraido de un foro es este:

Código PHP:
echo '<ul>';
foreach (
$posts as $post){
  echo 
'<li>
  <a href="'
$post['href'], '"  target="_blank">'$post['subject'], '</a> '$txt[525], ' ('$post['poster']['link'], ')'$post['new'] ? '' '<a href="' $scripturl '?topic=' $post['topic'] . '.msg' $post['new_from'] . ';topicseen#new" target="_blank"><img src="' $settings['images_url'] . '/' $context['user']['language'] . '/new.gif" alt="' $txt[302] . '" border="0" /></a>''
  </li>'
;
}
echo 
'</ul>'
Si lo pongo de ese modo, no hay problema, se me crea una lista con varios resultados y todo va bien.

Si en vez de imprimirlo directamente con ECHO intento guardarlo en una variable, ésta no contiene nada, es más, creo que ni entra en el foreach.

Hablo de hacer esto:

Código PHP:
$var='<ul>';
foreach (
$posts as $post){
  
$var.='<li>
  <a href="'
.$post['href'].'"  target="_blank">'.$post['subject'].'</a> '.$txt[525].' ('.$post['poster']['link'].')
                                                            '
.$post['new'] ? '' '<a href="' $scripturl '?topic=' $post['topic'] . '.msg' $post['new_from'] . ';topicseen#new" target="_blank"><img src="' $settings['images_url'] . '/' $context['user']['language'] . '/new.gif" alt="' $txt[302] . '" border="0" /></a>
   </li>'
;
}
                                                        
$var.='</ul>'
Como se puede apreciar, he cambiado las comas , por puntos . para concatenar las cadenas en el segundo caso, porque de lo contrario PHP me soltaba un error al encontrar el caracter inesperado ,


¿Qué puede estar pasando?

¿por qué el cambiar unas comas por unos puntos hace que deje de funcionar como debería?

No se si me he explicado suficientemente bien, si no es así, decídmelo.
Gracias.