当前位置: 首页 > news >正文

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

相关文章:

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

字符串,在各类编程语言中都是一个非常重要的数据类型 网页当中的图片,文字,特殊符号,HTMl标签,英文等都属于字符串 PHP字符串变量用于存储并处理文本, 在创建字符串之后&#xff0c;我们就可以对它进行操作。我们可以直接在函数中使用字符串&#xff0c;或者把它存储在变量中 字…...

【Neo4j教程之CQL命令基本使用】

&#x1f680; Neo4j &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;C…...

Apikit 自学日记:发起文档测试-TCP/UDP

进入某个TCP/UDP协议的API文档详情页&#xff0c;点击文档上方 测试 标签&#xff0c;即可进入 API 测试页&#xff0c;系统会根据API文档的定义的求头部、Query参数、请求体自动生成测试界面并且填充测试数据。 填写/修改请求参数 1.1设置请求参数 与发起HTTP协议测试类似&am…...

坚鹏:中国邮储银行金融科技前沿技术发展与应用场景第1期培训

中国邮政储蓄银行金融科技前沿技术发展与应用场景第1期培训圆满结束 中国邮政储蓄银行拥有优良的资产质量和显著的成长潜力&#xff0c;是中国领先的大型零售银行。2016年9月在香港联交所挂牌上市&#xff0c;2019年12月在上交所挂牌上市。中国邮政储蓄银行拥有近4万个营业网点…...

HBase分布式安装配置

首先 先安装zookeeper ZooKeeper配置 解压安装 解压 tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt 改名 mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7 在根目录下创建两个文件夹 mkdir Zlogs mkdir Zdata配置zoo.cfg文件&#xff0c;在解压后的ZooKeep…...

Microsoft365有用吗?2023最新版office有哪些新功能?

office自97版到现在已有20多年&#xff0c;一直是作为行业标准&#xff0c;格式和兼容性好&#xff0c;比较正式&#xff0c;适合商务使用。包含多个组件&#xff0c;除了常用的word、excel、ppt外&#xff0c;还有收发邮件的outlook、管理数据库的access、排版桌面的publisher…...

结构体的定义与实例化

结构体的定义与实例化 在Go语言中&#xff0c;结构体是一种用户自定义的数据类型&#xff08;复合类型&#xff0c;而非引用类型&#xff09;&#xff0c;可以用来封装多个不同类型的数据成员。结构体的定义和实例化分别如下&#xff1a; 结构体的定义 结构体的定义使用关键…...

canvas详解03-绘制图像和视频

canvas 更有意思的一项特性就是图像操作能力。可以用于动态的图像合成或者作为图形的背景,以及游戏界面(Sprites)等等。浏览器支持的任意格式的外部图片都可以使用,比如 PNG、GIF 或者 JPEG。你甚至可以将同一个页面中其他 canvas 元素生成的图片作为图片源。 引入图像到 …...

VB+ACCESS高校题库管理系统设计与实现

开发数据库题库管理系统主要是为了建立一个统一的题库,并对其用计算机进行管理,使教师出题高效、快捷。 其开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完…...

centos 安装 nginx

1.下载nginx安装包 wget -c https://nginx.org/download/nginx-1.24.0.tar.gz 下载到了当前目录下 2.解压安装包 解压后的结果 3.安装依赖 yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 4. ./configure --prefix/usr/lo…...

TCP/IP详解(一)

TCP/IP协议是Internet互联网最基本的协议&#xff0c;其在一定程度上参考了七层OSI&#xff08;Open System Interconnect&#xff0c;即开放式系统互联&#xff09;模型 OSI参考模型是国际组织ISO在1985年发布的网络互联模型&#xff0c;目的是为了让所有公司使用统一的规范来…...

three.js的学习

Threejs 1 前言 Three.js是基于原生WebGL封装运行的三维引擎&#xff0c;在所有WebGL引擎中&#xff0c;Three.js是国内文资料最多、使用最广泛的三维引擎。 既然Threejs是一款WebGL三维引擎&#xff0c;那么它可以用来做什么想必你一定很关心。所以接下来内容会展示大量基于…...

Spark

Spark 概述 Apache Spark是用于大规模数据处理的统一分析计算引擎 Spark基于内存计算&#xff0c;提高了在大数据环境下数据处理的实时性&#xff0c;同时保证了高容错性和高可伸缩性&#xff0c;允许用户将Spark部署在大量硬件之上&#xff0c;形成集群。 spark与Hadoop的…...

poi生成excel饼图设置颜色

效果 实现 import com.gideon.entity.ChartPosition; import com.gideon.entity.LineChart; import com.gideon.entity.PieChart; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xddf.usermodel.PresetColo…...

多版本管理node.js

多版本管理node.js 1. 安装2. 配置使用2.1 修改node源2.2 常用命令 在Windows 计算机上管理node.js的多个安装版本。 这是朋友推荐的&#xff0c;就是自己在升级node的时候给搞崩了&#xff0c; 不得不提升效率&#xff0c;于是发现了这个好工具&#xff0c;可以反过来理解&…...

【深入浅出 Spring Security(七)】RememberMe的实现原理详讲

RememberMe 的实现原理 一、RememberMe 的基本使用二、RememberMeAuthenticationFilter 源码分析RememberMeServicesTokenBasedRememberMeServicesTokenBasedRememberMeServices 中对 processAutoLoginCookie 方法的实现总结原理图式 三、提高安全性PersistentTokenBasedRememb…...

Cesium 实战 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型

Cesium 实战 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型 VScode&#xff08;Visual Studio Code&#xff09; 安装模型必要插件VScode 预览自定义关节&#xff08;articulations&#xff09;动作VScode 导入 GLB 格式模型VScode 导出 GLB 格式模型 模型渲染作为 …...

Python自动化测试框架:Pytest和Unittest的区别

pytest和unittest是Python中常用的两种测试框架&#xff0c;它们都可以用来编写和执行测试用例&#xff0c;但两者在很多方面都有所不同。本文将从不同的角度来论述这些区别&#xff0c;以帮助大家更好地理解pytest和unittest。 1. 原理 pytest是基于Python的assert语句和Pytho…...

考研算法29天:希尔排序 【希尔排序】

算法介绍 希尔排序 等差数列 普通版插入排序 循环数组 第一次每n/2为间隔分为4组&#xff0c;然后组内排序。 第二次每n/4为间隔分为2组。然后组内排序 第三次n/8为间隔分为一组。然后组内排序。 组内排序用插入排序来排序。 注&#xff1a;也可以第一次为n/3为间隔&am…...

RN 学习小记之使用 Expo 创建项目

本文Hexo博客链接&#x1f517; https://ysx.cosine.ren/react-native-note-1 xLog链接&#x1f517; https://x.cosine.ren/react-native-note-1 RSS订阅 &#x1f4e2; https://x.cosine.ren/feed/xml 由于业务需要&#xff0c;开始学习RN以备后面的需求&#xff0c;而虽然之…...

python爬虫从入门到精通

目录 一、正确认识Python爬虫 二、了解爬虫的本质 1. 熟悉Python编程 2. 了解HTML 3. 了解网络爬虫的基本原理 4. 学习使用Python爬虫库 三、了解非结构化数据的存储 1. 本地文件 2. 数据库 四、掌握各种技巧&#xff0c;应对特殊网站的反爬措施 1. User-Agent 2. C…...

从0到1精通自动化,接口自动化测试——数据驱动DDT实战

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 DDT简介 名称&am…...

【微服务】springboot整合swagger多种模式使用详解

目录 一、前言 1.1 编写API文档 1.2 使用一些在线调试工具 1.3 postman 1.4 swagger 二、swagger简介</...

AI 绘画(1):生成一个图片的标准流程

文章目录 文章回顾感谢人员生成一个图片的标准流程前期准备&#xff0c;以文生图为例去C站下载你需要的绘画模型导入参数导入生成结果&#xff1f;可能是BUG事后处理 图生图如何高度贴合原图火柴人转角色 涂鸦局部重绘 Ai绘画公约 文章回顾 AI 绘画&#xff08;0&#xff09;&…...

CPU、内存、缓存的关系

术语解释 &#xff08;1&#xff09;CPU&#xff08;Central Processing Unit&#xff09; 中央处理器 &#xff08;2&#xff09;内存 内存用于暂时存放CPU中的运算数据&#xff0c;以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁&#xff0c;内存的运行决定…...

AI黑客松近期比赛清单;36氪AI淘宝店盈利复盘;GitHub Copilot官方最佳实践;AI在HR领域的应用探索 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; ⋙ 点击查看 AI Hackathon (黑客马拉松) 汇总清单 &#x1f916; 〖飞桨〗2023大模型应用创新挑战赛 百度飞桨联合上海市青年五十人创新创业研究院等…...

想要让视频素材格式快速调整转换的方法分享

有时候有些视频播放软件不支持播放某些格式的视频文件&#xff1f;那要怎么解决呢&#xff1f;换一个播放软件&#xff1f;不妨试试批量转换视频格式&#xff0c;简单的几步操作就能快速解决烦恼&#xff0c;跟着小编一起来看看具体的操作环节吧。 首先先进入“固乔科技”的官网…...

面向对象分析与设计 UML2.0 学习笔记

一、认识UML UML-Unified Modeling Language 统一建模语言&#xff0c;又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。 UML是在开发阶段&#xff0c;说明、可视化、构建和书写一个面向对象软件密集系统的制品的…...

[数据库系统] 五、数据增删改

第一关&#xff1a;数据插入 用insert给数据库添加数据 相关知识 有关系student(sno,sname,ssex,sage,sdept)&#xff0c;属性对应含义&#xff1a;学号&#xff0c;姓名&#xff0c;性别&#xff0c;所在系。现有的部分元组如下所示 insert 向数据库表插入数据的基本格式有…...

docker私有注册表创建和使用

说明 本文给出了一个具体的使用docker registry和nginx配置docker私有注册表的方案。 创建和配置 docker compose 使用docker compose的方式运行registry容器&#xff0c;配置如下&#xff1a; # cat docker-compose.yml services:registry:image: registry:2ports:- &quo…...