php 字符串转义

单引号:


  1. 想表达单引号自身,需要用反斜线\转义
  2. 想表达反斜线\自身,需要用双反斜线\\
  3. 其他任何转义序列\r\n等,都会当作字符串处理
//输出 a'bcd
echo 'a\'bcd';

//输出 a\bcd
echo 'a\\bcd';

//输出 a\bcd
echo 'a\bcd';

//输出 a\nbcd
echo 'a\nbcd';

双引号


  1. 将对一些特殊字符进行转义
header 1 header 2
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\e esc
\f 换页
\\ 反斜线
\$ 美元标记
\" 双引号
\[0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符
\x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符
  1. 变量解析
$a = 'abc';

//输出 abc
echo "{$a}";

//输出 abc
echo "${a}";

//输出 { abc}
echo "{ $a}"

//报错:Use of undefined constant a - assumed 'a'
echo "${ a}";
//输出 abcdef

// A会被优先作为常量处理
// 然后再解析 $b
define("A",'b');
$b = 'cdef';
echo "${ A}";

heredoc


  1. Heredoc 结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义。
//输出 a       bc'      def

echo <<<begin
a\tbc'      def
begin;


Nowdoc 结构


  1. 就象 heredoc 结构类似于双引号字符串,Nowdoc 结构是类似于单引号字符串的。Nowdoc 结构很象 heredoc 结构,但是 nowdoc 中不进行任何解析操作
//输出:a\tbc      def '
echo <<<'EOT'
a\tbc      def '
EOT;
发布了20 篇原创文章 · 获赞 4 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Csw_PHPer/article/details/104100499
今日推荐