php中的双引号与单引号的基本使用及区别

 更新时间:2023年06月29日 15:38:49   作者:itclanCoder  
字符串是一个非常要的知识,在开发中,有的使用单引号,有的使用双引号,这个是有区别的,这篇文章主要介绍了php中的双引号与单引号的基本使用,需要的朋友可以参考下

字符串,在各类编程语言中都是一个非常重要的数据类型

网页当中的图片,文字,特殊符号,HTMl标签,英文等都属于字符串

PHP字符串变量用于存储并处理文本, 在创建字符串之后,我们就可以对它进行操作。我们可以直接在函数中使用字符串,或者把它存储在变量中

字符串是一个非常要的知识,在开发中,有的使用单引号,有的使用双引号,这个是有区别的

在PHP语言中声明字符串有三种方式

  • 用单引号声明
  • 用双引号声明
  • 用字界符声明(这个需要输入非常大段的字符串时才使用,不常用)

1.单引号声明

用英文半脚的单引号,将字符串包起来,字符串变量用于包含有字符的值

<?php
//声明字符串变量$name
$name = '我是川川';
echo $name;  // 12,一个中文字符占三个字节
?>

如果你想测试字符串的长度,可以使用PHP提供的字符串函数strlen("字符串"),或strpos(),此函数用于在字符串内查找一个字符或一段指定的文本。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 false

<?php 
  $name = '我是川川';
  echo strlen($name);
  echo strpos("Hello world!","world"); // 6
?>

2.双引号声明字符串

在字符串两边加双引号

<?php
 //声明字符串变量$str
 $str = "书以启智,技于谋生,活出斜杠。";
 echo $str;
?>

3.字界符声明

1). 在变量后面的等号写三个小于号(<<<)。2). 然后在<<<后面写上字符(建议英文大写字符),如下例中的:ABC3). 然后换行写上任意想写的字符 4). 写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC

$weilai = '努力才有未来';
$mimang = '迷茫的原因是没有目标';
$dingjie = <<<ABC
  如果
           $weilai
       非要\t在这""
   前
           '$mimang'
       面<br />
      加上\n一段
   <i>距离的话</i>
   我想说:<h1>思想有多远,你就跟我滚多远</h1>
ABC;
echo $dingjie

双引号与单引号有什么区别

  • 双引号能解析变量,但是单引号不解析变量
  • 在上引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一个整个变量,一定要在变量后面上拼接字符,例如空格等分开
  • 如果在双引号里面插入变量的时候,后面不想有空格,可以拿双大括号将变量包起来
  • 双引号解析转义字符,单引号不解析转义字符,但单引号能解析'和\
  • 单引号效率要高于双引号,可以尽可能使用单引号
  • 双引号和单引号可以互插,双引号中插入单引号,单引号中插入变量,这个变量会被解析
  • 字符串的拼接,可以用'.'号连接,拼接(常用)

1. 双引号解析变量,但是单引号不解析变量

<?php
  // 声明变量$name
  $website = 'https://coder.itclan.net';
  $str = "$website,测试一下这个变量会不会显示";
  echo $str;
?>

上面的是能够显示出结果的,变量$website能够被解析 双引号中间的变量够执行显示,我们将$str这个字符串两边的双引号,改为单引号试试,再看一次执行结果,结果发现

发现$website 直接显示出来了,而不是双引号的显示结果。

通过上例,可证明:双引号执行变量,而单引号不执行变量。我们得到一个重要结论

双引号需要解析变量,因此双引号的效率没有单引号高。我们如果为了更高的效率,我们通常使用单引号

2. 在双引号里面插入变量

在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。可以在后面接上特殊字符,例如空格等分开

<?php
  $php = 'php-开始学php';
  $str = "$phpaaaa";
  //你会发现输出$str,什么都没有在页面中显示
  echo $str;
?>

然而,我们在$str声明的这个字符串中将$php后面接个空格再接aaaa,代码如下

<?php
  $php = 'php-开始学php';
  $str = "$php aaaa";
  //在$php后面添加一个空格,页面却正常显示了的
  echo $str;
?>

你在很多项目里,有的会看到空格的,如果你不小心删除了空格,那么就会不显示

如果你不想要在后面不想要有空格,可以用双大括号将变量包裹起来的,如下代码所示

<?php
  $php = 'php-开始学php';
  $str = "{$php}aaaa";
  //在$php后面添加一个空格,页面却正常显示了的
  echo $str;
?>

3. 双引号解析转义字符,单引号不解析转义字符

双引号解析转义字符,单引号不解析转义字符,但单引号能解析`,和\

比如:

<?php
   // 声明一个字符串,记住是双引号
   $string = "好好学习\n,天天向上\t,相信自己";
   echo $string;
?>

从浏览器输出结果当中可以看出是有效果的

如果换成单引号,那么情况就变了的

<?php
   // 声明一个字符串,记住是双引号
   $string = '好好学习\n,天天向上\t,相信自己';
   echo $string;
?>

你会发现,单引号的\t,\n直接就显示出来了,而没有变成一次回车键和按一次的tab键后的效果

也就是,双引号执行转义字符而单引号不执行转义字符

4.转义字符\(反斜线的使用)

如果我们声明一个变量,我们想要在name声明的双引号中间加上一个双引号显示输出怎么办

<?php
  //要在$name的字符串中显示一个双引号怎么办?
  $name = "多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧";
   echo $name;
?>

上述代码会报错,双引号中间还有一个双引号。也就是意味着字符串声明提前结束了

我们需要将双引号原有的意义去掉。再双引号前面加上一个```(反斜线,计算机的专业名词叫转义字符),就可以了

<?php
//要在$name的字符串中显示一个双引号怎么办?
$name = "多于绝大多数的人出生就是杯具,但是\"我们在不断的让人生变为喜剧";
echo $name;
?>

再执行一下上面的代码,发现不再报错了。同理可推,单引号当中要插入一个单引号显示出来的时候,也可以在单引号声明的字符串中的单引号前面加上(反斜线,转义字符),将单引号的意义(限定字符区间)去掉

5. 双号和单引号可以互插

双号和单引号可以互插,双引号当中插入单引号,单引号当中插入变量,这个变量会被解析

<?php
  $legend = '猛虎';
  $NoAlike = "心有'$legend',细嗅蔷薇";
  echo $NoAlike;
?>

需要注意的是,双引号内可以,插入单引号,中有变量,可以被解析,反过来则不行,会报错

6. 字符串可以用(.)来拼接

如下代码所示

<?php
 $php = 'itclanCoder';
 //中间加了空格
 $str = "{$php}aaaa";
 echo $str;
?>

双引号能够解析变量,有一个问题:

效率没有纯单引号的高

那么问题1:我想改为效率最高的方式应该怎么办?

问题2:我有多个字符串,要拼接在一声怎么办?

那我们需要使用到神奇的胶水:(.)点,用来拼接字符串

<?php
$shixi = '大学4年要好好学习<br />';
$buran = '不然连实习的机会都没有<br />';
$mimang = '把别人用来迷茫的时间用来学习<br />';
$xuexi = '学习PHP<br />';
//我们可以把字符串全部拼接起来。
echo $shixi . $buran . $mimang . $xuexi;
?>

上面的代码可以更改为

<?php
   $php = 'itclanCoder';
   //中间加了空格
   $str = $php . 'aaaa';
   echo $str;
?>

以上就是关于php当中双引号与单引号的使用,在面试的时候,有时候也会问到

到此这篇关于php中的双引号与单引号的基本使用的文章就介绍到这了,更多相关php双引号与单引号使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php实现简单爬虫的开发

    php实现简单爬虫的开发

    本文给大家分享的是如何使用php开发简单的网页爬虫的思路以及代码,非常的简单,有需要的小伙伴可以参考下
    2016-03-03
  • php-fpm重启导致的程序执行中断问题详解

    php-fpm重启导致的程序执行中断问题详解

    这篇文章主要给大家介绍了关于php-fpm重启导致的程序执行中断问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。
    2016-10-10
  • PHP7引入的

    PHP7引入的"??"和"?:"的区别讲解

    今天小编就为大家分享一篇关于PHP7引入的"??"和"?:"的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • HTTP中header头部信息详解

    HTTP中header头部信息详解

    这篇文章主要介绍了HTTP中header头部信息详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • php实例分享之html转为rtf格式

    php实例分享之html转为rtf格式

    前期准备工作 下载Html2Rtf.dll,以管理员的身份运行cmd,进入Html2Rtf.dll所在目录--》输入Regsvr32 Html2Rtf.dll
    2014-06-06
  • php共享内存段示例分享

    php共享内存段示例分享

    在asp.net和java中都有共享内存,php除了可以使用Memcached等方式变通以外其实php也是支持共享内存的,下面使用shmop来实现这个功能
    2014-01-01
  • Yii使用ajax验证显示错误messagebox的解决方法

    Yii使用ajax验证显示错误messagebox的解决方法

    这篇文章主要介绍了Yii使用ajax验证显示错误messagebox的解决方法,可以自行设置Ajax提示信息的方式,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP微信分享开发详解

    PHP微信分享开发详解

    这篇文章主要为大家详细介绍了PHP微信分享开发,php微信端开发经验分享给大家,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • PHP循环结构实例讲解

    PHP循环结构实例讲解

    这篇文章主要介绍了PHP循环结构实例讲解,需要的朋友可以参考下
    2014-02-02

最新评论