重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PHP 字符串指的是字符的序列,PHP 字符串是二进制安全的 (例如:可以包含空字符)而且可以随意加长或缩短。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比槐荫网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式槐荫网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖槐荫地区。费用合理售后完善,10余年实体公司更值得信赖。
php 字符串可以通过3种方法进行初始化
单引号
双引号
heredoc ("here document")
因为 php 不会检查单引号字符串中的插入变量
以及任何转义序列
,所以用这种方法定义字符直观,速度快
可以识别变量
以及转义序列
转义序列列表
转义序列 | 列表 |
---|---|
\n | 换行 (ASII码10) |
\r | 回车符 (ASII码13) |
\t | 制表符 tab (ASII码9) |
\ | 反斜杠 |
\$ | 美元符号 |
\" | 双引号 |
\0至\777 | 八进制数值 |
\x0至\xFF | 十六进制数值 |
使用双引号,可以有三种方法打印出 "The sauce cost $10.25"
1
echo "The sauce cost \$10.25"
2
$cost='$10.25'; echo "The sauce cost $cost";
3
echo "The sauce cost \$\061\060.\x32\x35."
heredoc 定义的字符串可以识别变量
和双引号字符能够识别的转义序列
,且不需要对双引号和单引号进行转义
heredoc 以符号 <<<
加一个记号
来定义字符串的开始(记号不能为空行或者带有空格,一般为大写),并以该记号后跟一个分号(如必要)标识字符串的结尾。
结尾带分号
echo <<< My_doc I've gone to the sotre, the sauce cost \$10.25 My_doc;
结尾不带分号
$cost='$10.25'; echo <<< My_doc I've gone to the sotre, the sauce cost My_doc .$cost;
要注意的是结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符。这意味着标识符不能缩进,分号的前后也不能有任何空白或制表符。更重要的是结束标识符的前面必须是个被本地操作系统认可的换行,比如在 UNIX 和 Mac OS X 系统中是 \n,而结束定界符(可能其后有个分号)之后也必须紧跟一个换行。 如果不遵守该规则导致结束标识不“干净”,PHP 将认为它不是结束标识符而继续寻找。如果在文件结束前也没有找到一个正确的结束标识符,PHP 将会在最后一行产生一个解析错误。
转自 php 手册 http://php.net/manual/zh/language.types.string.php#language.types.string.syntax.heredoc
1
echo "The sauce cost $10.25"
2
echo "The sauce cost \$10.25"
3
$cost='$10.25'; echo "The sauce cost $cost";
4
echo "The sauce cost \$\061\060.\x32\x35."
5
echo <<< My_doc The sauce cost \$10.25 My_doc;
6
$cost='$10.25'; echo <<< My_DOC The sauce cost My_DOC .$cost;
7
$doc = <<< My_DOC The sauce cost \$10.25 My_DOC; echo $doc;
字符串中制定位置的字符可以通过两种方法引用方括号
和大括号
。 推荐使用大括号
,因为大括号应用是后来加入 php 中,用来直观的分辨出字符串索引和数组索引。
以下两个语句都可以输出 e 字母
$str="neighbour"; echo $str{1}; echo $str[1];