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

c1605fda4e75a9936580df823c0061da.jpeg

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

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

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

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

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

  • 用单引号声明

  • 用双引号声明

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

单引号声明

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

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

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

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

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

双引号声明字符串

在字符串两边加双引号

<?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键后的效果

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

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

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

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

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

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

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

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

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

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

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

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

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

如下代码所示

<?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当中双引号与单引号的使用,在面试的时候,有时候也会问到

而在开发当中,也是很常用的

关于2023高考志愿填报的一些建议

2023-06-25

87dbec8552c97f241977f7afeeb2352f.jpeg

使用css3如何实现一个文字打印效果

2023-06-17

7b6a293e1eedf3fbcd2374038b429217.jpeg

聊一聊最近几年学历大通胀的事情,以及大学几年怎么样可以节省不必要的开支

2023-06-15

fc88c2f775413b4c5dbe22adc011d9b0.jpeg

告别纺织业,大龄半路出家,前端CSS领域大神—“大漠”的封神之路

2023-06-14

66a8813eebb004cd4c6dbd6e4f146ccd.jpeg

翟欣欣已被捕,正义也许会迟到,但不会缺席,大块人心

2023-06-10

5593dfafba802ce82a34a240bc912ee7.jpeg

IT 男遭前妻敲诈勒索自杀,六年后一审宣判了

2023-06-10

b61d9aae80749da34008182c626b45e1.jpeg

职场中有哪些不成熟的表现

2023-06-07

213177bbb9bea4dc9c997cb20deccfc4.jpeg

604d5358d6409b0ae60fd6e4e78abe84.png

(能问答,能绘画)

802861f4548110b37c8503d6faa6ff7a.jpeg

304ada5677cd6288fe27984a4e109388.jpeg

(拓展人脉圈子)

0e0864d761f39ee23c2de1c5a942bf63.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1506.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第9章 异常处理

第9章 异常处理 9.1 Java异常处理 try-catch-finally ​ ​ 9.2 Scala异常处理 ​ ​ package chapter09object Test01_Exception {def main(args: Array[String]): Unit {try {val n 10 / 1} catch {case e: ArithmeticException > {println("发生算数异常&quo…

【MySQL数据库 | 第二十篇】explain执行计划

目录 前言&#xff1a; explain&#xff1a; 语法&#xff1a; 总结&#xff1a; 前言&#xff1a; 上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具&#xff1a;SQL执行频率&#xff0c;慢日志查询&#xff0c;profile。但是这三个方法也只是在时间角度粗略的…

简要记录java 锁

Java中的锁机制主要分为Lock和Synchronized. Synchronized在JVM里的实现是基于进入和退出Monitor对象来实现方法同步和代码块同步的。monitorenter指令是在编译后插入到同步代码块的开始位置&#xff0c;而monitorexit是插入到方法结束处和异常处&#xff0c;JVM要保证每个mon…

java循环结构

Java中有三种主要的循环结构&#xff1a; while 循环do…while 循环for 循环 在Java5中引入了一种主要用于数组的增强型for循环。 1.while循环 语法&#xff1a; while(布尔表达式){ // 循环内容 } 复制 实例&#xff1a; public class Demo{ public static void main(S…

【数据库】MySQL 高级(进阶) SQL 语句

文章目录 前提条件一、常用查询1. SELECT&#xff08;显示查询&#xff09;2. DISTINCT&#xff08;不重复查询&#xff09;3. WHERE&#xff08;有条件查询&#xff09;4. AND/OR&#xff08;且/或&#xff09;5. IN &#xff08;显示已知值的字段&#xff09;6. BETWEEN&…

适合嵌入式开发的GUI(嵌入式学习)

嵌入式开发的GUI如何选择&#xff1f; 常见的嵌入式GUI开发方法轻量级GUI库优缺点 基于Web技术优缺点 Qt框架优缺点 原生开发优缺点 嵌入式系统的限制 常见的嵌入式GUI开发方法 嵌入式开发中的GUI&#xff08;图形用户界面&#xff09;是指在嵌入式系统中实现图形化的用户界面…

深度学习05-RNN循环神经网络

概述 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一种具有循环连接的神经网络结构&#xff0c;被广泛应用于自然语言处理、语音识别、时序数据分析等任务中。相较于传统神经网络&#xff0c;RNN的主要特点在于它可以处理序列数据&#xf…

【软件设计师暴击考点】下午题高频考点暴击系列

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;软件…

亚马逊测评:如何有效使用IP和养号设备环境

随着网络科技的崛起&#xff0c;越来越多的本土企业入驻亚马逊电子商务平台上&#xff0c;这导致了对产品评价需求的激增。然而&#xff0c;评价并非随意进行&#xff0c;它需要多方面的资源&#xff0c;并需要密切注意一些重要环节。以下是我分享给大家一些宝贵的知识&#xf…

TCP/IP 协议详解

文章目录 简介应用层传输层网络层网络接口层数据包发送过程TCP 三次握手四次挥手三次握手为什么是三次握手四次挥手为什么是四次挥手 简介 TCP/IP传输协议&#xff0c;即传输控制/网络协议&#xff0c;也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。 TCP/IP传输…

第八十五天学习记录:C++核心:内存分区模型

内存分区模型 C程序在执行时&#xff0c;将内存大方向划分为4个区域 1、代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理 2、全局区&#xff1a;存放全局变量和静态变量以及常量 3、栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数…

霍尔闭环电流传感器在电动观光旅游车上的应用

摘要&#xff1a;本文介绍了基于霍尔闭环原理&#xff0c;即磁平衡式原理的电流传感器在电动观光旅游车上的使用方法&#xff0c;替代传统的霍尔器件&#xff0c;较好的解决了电动车行业现有霍尔传感器的基本问题&#xff0c;在稳定性上更加优越。 关键词&#xff1a;霍尔闭环…