下面是例子:
<?php
$name = '张三';
echo '我叫$name','<br>'; // 单引号,不错处理,直接输出 效率高
echo "我叫&name",'<br>'; // 双引号,会处理$开头的变量
echo '我叫'.$name,'<br>';// 可以在单引号外面单独输出变量
echo "$name是我的名字",'<br>';// 报错,双引号会吧 $以后的字符全部作为变量名
echo "{$name}是我的名字",'<br>';// 为了处理上面的问题,需要加 {}
echo "${name}是我的名字",'<br>';// {}和$顺序无所谓,都能正确运行。
echo '我说:"你好"','<br>'; //这样没问题
echo "我说:\"你好\"",'<br>';// 这样就需要 转义符'\'
?>
结果如下:
我叫$name
我叫&name
我叫张三
Notice: Undefined variable: name是我的名字 in F:\Service\wamp\apache24\htdocs\str.php on line 6
张三是我的名字
张三是我的名字
我说:"你好"
我说:"你好"
输出大段字符串:
字符串定界符:
// heredoc 定界符 变量会被解析
echo <<<str
i am $name
you are beautfull
<br>
str;
//加上 '' 称为 nowdoc 内容中间的变量不会被替换。
echo <<<'str'
i am $name
you are beautfull
str;