PHP EOF (heredoc) es una forma de definir una cadena en shells de línea de comandos (como sh, csh, ksh, bash, PowerShell y zsh) y lenguajes de programación (como Perl, PHP, Python y Ruby) .
Resumen de uso:
1. Debe ir seguido de un punto y coma; de lo contrario, la compilación fallará.
2. EOF puede reemplazarse por cualquier otro carácter, siempre que el identificador final sea coherente con el identificador inicial.
3. La marca de final debe ocupar su propia línea en la parte superior de la línea (es decir, debe comenzar desde el principio de la línea y no puede conectarse con espacios en blanco o caracteres antes y después).
4. El identificador de inicio puede estar sin comillas o con comillas simples o dobles. Sin comillas, el efecto es el mismo que con las variables incrustadas y los símbolos de escape no se interpretarán. interpretado.
5. Cuando el contenido requiere comillas incrustadas (comillas simples o comillas dobles), no es necesario agregar comillas simples y dobles. Esto es equivalente al uso de q y qq.
<?php eco <<<EOF <h1>Mi primer título</h1> <p>Mi primer párrafo. </p> EOF; // El final debe estar en una línea separada y no puede haber espacios antes ni después ?>
Aviso:
1. Comience con la etiqueta de inicio <<<EOF
y termine con EOF
. La etiqueta de fin debe escribirse en la parte superior, sin sangría ni espacios, y debe haber un punto y coma al final de la etiqueta de fin.
2. La etiqueta de inicio y la etiqueta de finalización son las mismas. Por ejemplo, EOT、EOD、EOF
en mayúscula se usan comúnmente para representarlas, pero no se limitan a ellas (también puede usar: JSON, HTML, etc.). , siempre que en el texto no aparezcan la etiqueta de inicio y la etiqueta de fin.
3. Las variables ubicadas entre la etiqueta inicial y la etiqueta final se pueden analizar normalmente, pero las funciones no. En heredoc, no es necesario empalmar las variables con conectores ,
.
la siguiente manera:
<?php $nombre = " codercto " ; $a = <<<EOF "abc" $nombre "123" EOF; // El final debe estar en una línea separada y no puede haber espacios antes ni después eco $a ? >