字符串类型

一、字符串的双引号和单引号

  • 单引号(’ ‘)不解析变量,里面的 $变量名 会被当作普通文本原样输出。
  • 双引号(” “)会解析变量,将变量的值替换进去;同时会解析更多转义字符。
  • 代码示例
$age = 18;
$str1 = '她今年$age岁';  // 单引号:不解析
$str2 = "她今年$age岁";  // 双引号:解析变量
echo $str1, "<br/>", $str2;
// 输出:她今年$age岁 <换行> 她今年18岁Code language: PHP (php)

二、 性能差异与推荐

  • 单引号更快:因为不需要解析内部变量,PHP 处理单引号字符串效率更高。
  • 实操推荐纯字符串用单引号,需要拼接变量时用双引号(或用 . 连接单引号,性能最佳)。

三、 转义字符支持对比

特性单引号(’ ‘)双引号(” “)
变量解析 不解析(原样输出)解析变量(如 $age
转义字符仅支持 \'(单引号)和 \\(反斜杠)支持 \"\'\\,以及 \n(换行)、\t(制表符)等
其他字符\t\r\n原样输出会尝试转义(如换行生效)
嵌套引号单内双无需转义,单内单需 \'双内单无需转义,双内双需 \"
  • 图中要点:使用反斜杠 \` 转义;单引号仅认\‘`,其余“原样输出”;双引号支持更多转义。

四、 综合代码与历史呼应

结合前几节(分号、echo、变量):

<?php
    $name = '张肥';
    // 单引号:纯文本,不解析变量,不转义\n
    echo '姓名:$name,换行\n无效<br/>'; 
    // 输出:姓名:$name,换行\n无效
    
    // 双引号:解析变量,转义\n(在HTML中换行需<br/>,源码中\n生效)
    echo "姓名:$name,换行\n生效<br/>"; 
    // 输出:姓名:张肥,换行(源码换行)生效
    
    // 最佳实践(性能+清晰):用 . 拼接单引号
    echo '姓名:' . $name . ',推荐写法<br/>';
?>Code language: HTML, XML (xml)

呼应前文:延续 echo 多变量输出、分号结尾;字符串内可嵌 HTML(如 <br/>)呼应混合 HTML 特性。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注