PHP 单引号与双引号
0x00:实验
代码:
|------------------------------------------------------------------------------------|
<?php
$a=1;
$b='$a'; //按照普通字符输出
$c="$a"; //字符串转义,变量解析
echo '直接输出'.$a."\n"; //直接输出1(换行)
echo "双引号输出$a\n"; //双引号输出1(换行)
echo '单引号输出$a\n'."\n"; //单引号输出$a\n(."\n"导致换行)
echo "双引号定义$b\n"; //双引号定义$a(换行)
echo "单引号定义$c\n"; //单引号定义1(换行)
?>
|------------------------------------------------------------------------------------|
0x01:结论
单引号:按照普通字符进行输出
双引号:处理字符串转义,变量解析
辅助记忆:单引号比较单纯,写啥是啥。双引号是两个单引号,会多想一层。
在定义字符串时,尽量使用单引号。
注意:单引号内部使用单引号需转义,字符串最后出现反斜杠需转义。
例:
echo 'It\'s fun'; //不能写成 'It's fun'
echo 'C:\Windows\\'; //不能写成 'C:\Windows\'
我在其他地方还看到:
|------------------------------------------------------------------------|
$file = "c:\windows\system.ini";
echo $file; // 打印结果为: c:windowssystem.ini
$file = "c:\\windows\\system.ini";
echo $file; // 打印结果为: c:\windows\system.ini
|------------------------------------------------------------------------|
但是我进行验证后发现打印结果都是
c:\windows\system.ini(解释器版本:PHP 5.4.45)
reference:
[1] 《PHP开发实例大全(基础卷)》
[2] llsun https://www.cnblogs.com/llsun/archive/2012/07/16/2593027.html
[3] b94665 https://zhidao.baidu.com/question/37887548.html