Home  >  Article  >  Backend Development  >  亲,给个答案吧,该如何处理

亲,给个答案吧,该如何处理

WBOY
WBOYOriginal
2016-06-13 13:46:59821browse

亲,给个答案吧
$out =  


END;
echo $out;
是什么意思?

------解决方案--------------------
定义了一个字符串 $out php heredoc
http://apps.hi.baidu.com/share/detail/15604411
------解决方案--------------------
Heredoc结构

第三种定义字符串的方法是用heredoc句法结构:
结束时所引用的标识符必须在一行的开始位置, 而且,标识符的命名也要像其它标签一样遵守PHP的规则:只能包含 字母、数字和下划线,并且不能用数字和下划线作为开头。

Warning
要注意的是结束标识符这行除了 可能有一个分号(;)外,绝对不能包括 其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或tabs。更重要的是结束标识符的前面必须是个被本地 操作系统认可的新行标签,比如在UNIX和Mac OS X系统中是\n ,而结束标识符(可能有个分号)的后面也必须跟个 新行标签。

如果不遵守该规则导致结束标签不“干净”,PHP将认为它不是结束标识符而继续寻找。如果在文件结束前也没有找到一个正确的结束标识符,PHP将会在最后一 行产生一个句法错误。

Heredocs结构不能用来初始化class,而从PHP 5.3以后,则该限制只能用在包含变量的情况下。

Example #1 非法的示例
class foo {
public $bar = bar
EOT;
}
?>
Heredoc结构就象是没有使用双引号的双引号字符串, 这就是说在heredoc结构中引号不用被替换,但是上文中列出的字符 (\n等)也可使用。 变量将被替换,但在heredoc结构中字符串表达复杂变量时,要格外小 心。

Example #2 Heredoc结构的字符串示例
$str = Example of string
spanning multiple lines
using heredoc syntax.
EOD;

/* 含有变量的更复杂示例 */
class foo
{
var $foo;
var $bar;

function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'MyName';

echo My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>
以上例程会输出:

My name is "MyName". I am printing some Foo.
Now, I am printing some Bar2.
This should print a capital 'A': A
也可以把Heredoc结构用在函数参数中来传输数据:

Example #3 Heredoc结构在参数中的示例
var_dump(array(foobar!
EOD
));
?>
在PHP 5.3.0以后,也可以用Heredoc结构来初始化静态变量和类的属性和常量:

Example #4 使用Heredoc结构来初始化静态值
// 静态变量
function foo()
{
static $bar = Nothing in here...
LABEL;
}

// 类的常量、属性
class foo
{
const BAR = Constant example
FOOBAR;

public $baz = Property example
FOOBAR;
}
?>
在PHP 5.3.0中还在Heredoc结构中用双引号来声明标志符:

Example #5 在heredoc结构中使用双引号
echo Hello World!
FOOBAR;
?>
Note:

PHP4才引入了Heredoc结构。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn