2010-10-22 17 views
7

Con PHP cadena normal, usted puede hacer esto:¿Es posible concatenar la cadena heredoc en PHP ..?

$str = "Hello "; 
$str .= "world"; 
$str .= "bla bla bla"; 
$str .= "bla bla bla..."; 

Pero se puede hacer lo mismo con la cadena heredoc ..?

$str = <<<EOD 
Hello 
world 
EOD; 

$str .= <<<EOD 
bla bla bla"; 
bla bla bla..."; 
EOD; 
+4

-1 realmente, puedes probarlo todo por ti mismo. Si no tiene una instalación local de PHP en google para 'ejecutar código PHP en línea' ... – NikiC

+1

Realmente debería haber sido capaz de averiguar si esto funciona por su cuenta en lugar de preguntar SO. El código funciona exactamente como lo publicaste. La experimentación es clave para la comprensión. – meagar

+2

De acuerdo, podría haber probado esto ... Pero no pude encontrar esta información con una búsqueda rápida en Google, y probablemente no soy el primero ni el último en tener esta pregunta exacta. Ahora esta información estará disponible gracias a las respuestas a continuación. – pnichols

Respuesta

12

Por supuesto. ¿Por qué no podrías?

Heredocs evalúan una cadena, por lo que esto es perfectamente aceptable.

6

Sí, puedes.

Un heredoc es equivalente a la cadena entre comillas dobles sin las comillas dobles.

8

Sí, puedes. Heredoc es parte de expresiones, por lo que incluso se puede hacer esto:

$s = 'abc' . <<<EOD 
def 
EOD 
. 'ghi'; 

tener cuidado con el marcador de fin de datos sin embargo: debe ser la única cosa en una línea.

+2

+1 por una sola cosa en la línea ... ni siquiera puedes aplicar sangría –

Cuestiones relacionadas