What is <<<_END?

核能气质少年 提交于 2019-12-18 19:18:55

问题


I'm new to PHP and don't understand what the point of <<<_END is. Could someone please explain when this should be used? I've looked at various examples and they all seem to have HTML embedded within them. But I can use HTML without the <<<_END tags, so why should I use them? I tried searching the manual, but I keep finding the end() method for arrays.


回答1:


It's the start of a heredoc. you can do:

$data = <<< _END

You can write anything you want in between the start and end

_END;

_END can be just about anything. You could put EOF or STUFF. as long as you use the same thing at the start and the finish.




回答2:


This signifies the beginning of a heredoc (a multi-line string that allows you to use quotation marks in the middle, unescaped) that ends when you encounter the _END

It can be useful to define HTML in one of these if the goal is to assign it to a variable or pass it to a function rather than printing it to the web server immediately.




回答3:


That syntax is called heredoc

<<<_END
some text
_END

Basically, it's a way of writing a string without worrying about escaping quotes and so on.

As you've mentioned, it doesn't really provide a lot of benefit over other string formats - although, it does mean you can write a block of HTML without escaping out of PHP with ?>

It also isn't too popular as its use generally goes against the practice of seperating content from logic by embedding the content in the middle of your script.




回答4:


Does this help? http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

It allows you to echo out a block of text (just the same as with echo "words";), but without using the beginning/ending quotes, and without having to escape contained double quotes. Read the manual link above for more detail.




回答5:


It's a heredoc. It's just a way of defining a string.



来源:https://stackoverflow.com/questions/4675814/what-is-end

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!