批改状态:未批改
老师批语:
输出字符串时,单引号与双引号的区别
输出不同的内容,需要使用不同的包装器,或者叫定界符,单引号和双引号,就是字符串类型的包装器,这与js是一样的
如果是纯字符串,推荐使用单引号,如果字符串有变量或者特殊字符的话
记忆: 单引号原样输出,双引号会将内容解析输出
那么:双引号会将哪些内容解析呢?二类: 1.变量, 2.特殊字符
如果要在字符串输出定界符,怎么办?
用转义字符:反斜线,将原字符进行转义,使其失去原有的作用
除了用引号做为字符串定界符外,还有二种声明字符串的方法
heredoc和nowdoc
heredoc结构
功能:与双引号创建的字符串基本一致
1.可以将内部的变量和特殊字符进行自动转义(不需要转义字符)
2.可以直接使用双引号,而不需要转义
nowdoc
php5.3+
功能:与单引号创建的字符串基本一致
1. 将内容原样输出,不解析变量和特殊字符
2. 可以直接使用单引号,不需要转义
<?php
header("Content-type:text/html;charset=utf-8");
//创建变量
$name = '张小明';
//双引号输出变量
echo "我的名字叫{$name}";
//单引号输出变量
echo '我的名字叫'.$name;
echo '<br>';
//使用转义字符打印单引号
echo '我的名字叫\''.$name.'\'';
echo '<br>';
// 双引号也是一样转义
echo "我的名字叫\"{$name}\"";
echo '<br>';
//使用与定界符不同类型的引号:双引号
echo '我的名字叫:"'.$name.'"';
echo '<br>';
//对$进行转义: \$,就是会原样输出了,不会再解析
echo "我的名字叫{\$name}";
echo '<hr>';
// $heredoc = <<< "HEREDOC"可以自动解析特殊字符不需要转义
$heredoc = <<< HEREDOC
{$name}是一个"三好学生",\n
同时也是一个'班长'。
HEREDOC;
echo $heredoc;
/医院
* 为什么没有看到\n的换行效果呢?是不是没有转义呢?事实上已经自动转义了
* 因为你已经看不到\n,它在页面中显示一个空格。如果想在页面中看到换行效果
* 可以使用函数 nl2br()
*/
echo '<hr>';
echo nl2br($heredoc);
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号