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

WBOY
发布: 2016-06-13 13:46:59
原创
895 人浏览过

亲,给个答案吧
$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结构。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板