换行符
unix系列用 \n
windows系列用 \r\n
mac用 \r
PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性
PHP_EOL : The correct 'End Of Line' symbol for this platform.自 PHP 5.0.2 起可用
<?php
echo PHP_EOL;
//windows平台相当于 echo "\r\n";
//unix\linux平台相当于 echo "\n";
//mac平台相当于 echo "\r";
类似常用的还有
DIRECTORY_SEPARATOR
可以用函数get_defined_constants()来获取所有PHP常量
heredoc
heredoc 句法结构:<<<。在该运算符之后要提供一个标识符,然后换行。接下来是字符串 string 本身,最后要用前面定义的标识符作为结束标志。
注意,标识符可以为任意字符,不以一定要用EOT\EOF等
<?php
$a = 'bb';
$aa = '11';
$bb = '22';
$str = <<<tttttttt
hah{$aa}
hehehhe$$a
hehehhe{$$a}
ttttttt
tttttttt;
echo $str;
//hah11
//hehehhe$bb
//hehehhe22
//ttttttt
结束时所引用的标识符必须在该行的第一列,而且,标识符的命名也要像其它标签一样遵守 PHP 的规则:只能包含字母、数字和下划线,并且必须以字母和下划线作为开头。
Warning
要注意的是结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或制表符
heredoc的使用,类似于双引号,包含的变量将会被解析
使用示例:
$name = "zhezhao";
$str1 = <<<EOT
Hello world, my name is {$name}
EOT;
echo $str1;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
nowdoc
就象 heredoc 结构类似于双引号字符串,Nowdoc 结构是类似于单引号字符串的。Nowdoc 结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作。这种结构很适合用于嵌入 PHP 代码或其它大段文本而无需对其中的特殊字符进行转义。
一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<’EOT’。Heredoc 结构的所有规则也同样适用于 nowdoc 结构,尤其是结束标识符的规则。
使用示例:
<?php
$name = "zhezhao";
$str1 = <<<'EOT'
Hello world, my name is {$name}
EOT;
echo $str1;