简单概括:双引号中的变量可以解析,单引号内就是绝对的字符串。
一、单引号
定义一个字符串的最简单的方法是用单引号把它包围起来(字符 ')。
要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如\r 或者\n,并不代表任何特殊含义,就单纯是这两个字符本身。
Note: 不像双引号和 heredoc 语法结构,在单引号字符串中的变量和特殊字符的转义序列将不会被替换。
二、双引号
如果字符串是包围在双引号(")中, PHP 将对一些特殊的字符进行解析:用双引号定义的字符串最重要的特征是变量会被解析。
NOTE:只有通过花括号语法才能正确解析带引号的键名。如:echo "This works: { $arr [ 'key' ]} " ;
三、脚本中使用单引号串处理速度会更快些。
因为PHP语法分析器对单引号串 的处理方式比较单纯,而双引号的处理由于串内部也需要解析,因此更复杂些,所以处理速度略慢。