设为首页 - 加入收藏 - 网站地图 欢迎加QQ群 :14364084
当前位置:谭博的博客 > 编程语言 > php > 正文

php,EOT是什么意思

时间:2011-11-08 12:52 来源:php,EOT 标签:EOT 作者:php,EOT 阅读:

 

定界符

  另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。
  结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
  警告
  很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。
  如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。
  不能用定界符语法初始化类成员。用其它字符串语法替代。
 
  例子 11-3. 非法的例子
  <?php
  class foo {
  public $bar = <<<EOT
  bar
  EOT;
  }
  ?>
  定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。 例子 11-4. 定界符字符串例子
  <?php
  $str = <<<EOD
  Example of string
  spanning multiple lines
  using heredoc syntax.
  EOD;
  /* More complex example, with variables. */
  class foo
  {
  var $foo;
  var $bar;
  function foo()
  {
  $this->foo = 'Foo';
  $this->bar = array('Bar1', 'Bar2', 'Bar3');
  }
  }
  $foo = new foo();
  $name = 'MyName';
  echo <<<EOT
  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;
  ?>

 

关注微信公众号

微信扫一扫,打赏我

热评文章
    内容不错,支持一下
    评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)