PHP8的字符串操作3-PHP8知识详解
今天继续分享字符串的操作,前面说到了字符串的去除空格和特殊字符,获取字符串的长度,截取字符串、检索字符串。
今天继续分享字符串的其他操作。如:替换字符串、分割和合成字符串。

5、替换字符串
替换字符串就是对指定字符串中指定的字符进行替换。字符串的替换可以通过str_replace()函数、str_ireplace()函数和substr_replace()函数实现。
5.1、str_replace()函数
使用新的关键字替换原字符串中的关键字,可以使用str_replace()函数,其语法格式如下:
str_replace(要替换的字符串, 替换后的字符串, 要进行替换的字符串)
这个函数可以用来替换字符串中的特定字符、单词或者一段文本。它会在原始字符串中搜索要替换的字符串,并将其替换为指定的字符串。如果要替换的字符串在原始字符串中出现多次,它会将所有匹配到的字符串都替换。
示例代码:
<?php
$str = "Hello, World!";
$newStr = str_replace("World", "PHP", $str);
echo $newStr;
?>
以上代码在PHP8中运行的结果为:
Hello, PHP!
在这个例子中,我们将字符串中的"World"替换为"PHP",并将结果存储在 newStr 变量中。最后,我们使用echo语句输出newStr的值。
5.2、str_ireplace()函数
str_ireplace()函数和str_replace()函数使用方法一样,区别在于:str_replace()函数在操作是区分大小写,str_ireplace()函数不区分大小写。
str_ireplace()函数示例:
<?php
$str = "Hello, World!";
$newStr = str_ireplace("world", "PHP", $str);
echo $newStr;
?>
以上代码在PHP8中运行的结果为:
Hello, PHP!
5.3、substr_replace()函数
substr_replace() 函数是 PHP 中的一个字符串处理函数,用于替换指定位置的子字符串。
它的语法如下:
substr_replace(原始字符串,指定替换后的新字符串,替换起始位置 [起始值,长度])
参数说明:
a、要进行替换操作的原始字符串,可以是字符串也可以是数组。
b、指定替换后的新字符串。可以是一个字符串或一个数组。
c、要开始替换的位置索引。如果为负数,则表示从字符串末尾倒数的位置开始计算。
d、替换起始位置(可选):指定要替换的字符数量。默认情况下会替换到字符串的结尾。
e、返回值会返回一个替换后的字符串。你可以使用这个函数来在字符串中执行部分替换操作。
以下是一个示例使用 substr_replace() 函数的代码:
$str = "Hello, world!";
$newStr = substr_replace($str, "PHP", 7, 5);
echo $newStr;
以上代码在PHP8中输出的结果为:
Hello, PHP!
上述代码中,我们将原始字符串中索引位置 7 开始的 5 个字符替换为新内容 "PHP"。结果输出为 "Hello, PHP!"。
6、分割和合成字符串
在PHP8中提供了分割和合并字符串的函数。分割使用explode()函数,合并则使用implode()函数。
6.1、使用explode()函数分割字符串
explode() 函数是 PHP 中用于分割字符串的函数。它将一个字符串根据指定的分隔符拆分成多个子字符串,并返回一个数组。
它的语法如下所示:
explode( 边界分隔符,指定分割的字符串[限制返回的数组元素数量的可选参数])
修改描述如下:
a、边界分隔符可以是自己自定义的任意分隔符
b、将要分割的字符串,基本上都是数组
c、限制返回的数组元素数量的可选参数,
d、返回值:返回的都是原字符串的子字符串,
参考代码:
<?php
$a = "html,css,javascript";
$b = explode(",", $a);foreach ($b as $value) {echo $value . "<br>";
}
?>
在PHP8中运行结果为:
html
css
javascript
这样会使用逗号作为分隔符来将 $a 字符串分割成数组,并通过 foreach 循环遍历输出每个元素。
6.2、使用implode()函数合并字符串
使用implode()函数可以将数组的内容,合成一个新的字符串。
如果你想要将一个数组的元素合并成一个字符串,可以使用 implode() 函数。该函数接受两个参数:分隔符和数组。语法如下:
implode(分隔符,被合并的数组)
下面是使用 implode() 函数来合并字符串的示例代码:
<?php
$array = ["html", "css", "javascript"];
$string = implode(",", $array);echo $string;
?>
在这个例子中,我们创建了一个包含三个元素的数组 $array,然后使用逗号作为分隔符调用 implode() 函数将数组元素合并成一个字符串,并将结果赋值给变量 $string。最后,通过 echo 语句输出合并后的字符串。
在PHP8中,输出结果是:
html,css,javascript
7、统计字符串中单词的个数
统计字符串中单词的个数,比统计字符的个数更有意义。在PHP8中使用str_word_count()函数统计字符串中的单词个数。仅对英文有效,对中文汉字无效。
示范代码:
<?php
$a = "你好,世界";
$b = "hello world";
echo "字符串a的汉字个数为:".str_word_count($a);
echo "<br>";
echo "字符串b的单词个数为:".str_word_count($b);
?>
在PHP8中运行的结果为:
字符串a的汉字个数为:0
字符串b的单词个数为:2
到此为止,通过str_replace()函数、str_ireplace()函数和substr_replace()函数实现字符串的替换。使用explode()函数分割字符串和使用implode()函数合并字符串、使用str_word_count()函数统计字符串中的单词个数就讲解完毕了。
相关文章:
PHP8的字符串操作3-PHP8知识详解
今天继续分享字符串的操作,前面说到了字符串的去除空格和特殊字符,获取字符串的长度,截取字符串、检索字符串。 今天继续分享字符串的其他操作。如:替换字符串、分割和合成字符串。 5、替换字符串 替换字符串就是对指定字符串中…...
Unity VR:XR Interaction Toolkit 输入系统(Input System):获取手柄的输入
文章目录 📕教程说明📕Input System 和 XR Input Subsystem(推荐 Input System)📕Input Action Asset⭐Actions Maps⭐Actions⭐Action Properties🔍Action Type (Value, Button, Pass through) ⭐Binding …...
智慧工地一体化云平台源码:监管端、工地端、危大工程、智慧大屏、物联网、塔机、吊钩、升降机
智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合,为工程项目管理提供先进技术手段,构建工地现场智能监控和控制体系,弥补传统方法在监管中的缺陷,最终实现项目对人、机、料、法、环的全…...
C# 表达式体方法 C#算阶乘
//表达式体方法private int Add(int a, int b) > a b;[Fact]public void Test(){var result1 Factorial(1);//1var result2 Factorial(2);//2var result3 Factorial(3);//6var result4 Factorial(4);//24var result5 Factorial(5);//120var result6 Add(100, 200);//…...
互联网发展历程:保护与隔离,防火墙的安全壁垒
互联网的快速发展,不仅带来了便利和连接,也引发了越来越多的安全威胁。在数字时代,保护数据和网络安全变得尤为重要。然而,在早期的网络中,安全问题常常让人担忧。 安全问题的困扰:网络威胁日益增加 随着互…...
基于IMX6ULLmini的linux裸机开发系列七:中断处理流程
中断上下文 cpu通过内核寄存器来运行指令并进行数据的读写处理的,它在进入中断前一个时刻的具体值,称为中断上下文 中断上下文是指CPU在进入中断之前保存的寄存器状态和其他相关信息。当CPU接收到中断请求时,它会保存当前正在执行的指令的状…...
Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求
本文介绍在浏览器中,获取网页中的某一个请求信息,并将其导入到Postman软件,并进行API请求测试的方法。 Postman是一款流行的API开发和测试工具,它提供了一个用户友好的界面,用于创建、测试、调试和文档化API。本文就介…...
react go实现用户历史登录列表页面
refer: http://ip-api.com/ 1.首先需要创建一个保存用户历史的登录的表,然后连接go 2.在用户登录的时候,获取用户的IP IP位置,在后端直接处理数据即可(不需要在前端传递数据) (1)增加路由&am…...
如何做好服务性能测试
一、什么是性能测试 新功能上线或切换底层数据库或扩容调优,根据实际业务场景的需要,做必要的性能压测,收集性能数据,作为上线的基准报告。 性能测试一般分一下几个阶段: 1. 性能测试 并发量小(jmeter 并…...
速通蓝桥杯嵌入式省一教程:(五)用按键和屏幕实现嵌入式交互系统
一个完整的嵌入式系统,包括任务执行部分和人机交互部分。在前四节中,我们已经讲解了LED、LCD和按键,用这三者就能够实现一个人机交互系统,也即搭建整个嵌入式系统的框架。在后续,只要将各个功能加入到这个交互系统中&a…...
虚拟拍摄,如何用stable diffusion制作自己的形象照?
最近收到了某活动的嘉宾邀请,我将分享: 主题:生成式人工智能的创新实践 简要描述:从品牌营销、智能体、数字内容创作、下一代社区范式等方面,分享LLM与图像等生成式模型的落地应用与实践经验。 领域/研究方向ÿ…...
开启AI创新之旅!“华为云杯”2023人工智能应用创新大赛等你来挑战
简介 近年来,人工智能技术的发展如日中天,深刻地改变着我们的生活方式和产业格局。 为了培养AI人才,持续赋能AI企业,推进国家新一代人工智能开放创新平台建设,打造更加完善的AI技术创新生态,华为…...
npm和node版本升级教程
cmd中查看本地安装的node版本 node -v //查询node的位置 where node2.官网下载所需要的node版本,安装在刚查出来的文件夹下,即覆盖掉原来的版本 3.查看node版本是否已经更新 4.查看npm版本是否和node版本相匹配 cnpm install -g npm...
C++入门篇9---list
list是带头双向循环链表 一、list的相关接口及其功能 1. 构造函数 函数声明功能说明list(size_type n,const value_type& valvalue_type())构造的list中包含n个值为val的元素list()构造空的listlist(const list& x)拷贝构造list(InputIterator first, InputIterator…...
STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路
文章目录: 第一部分:项目开始前的计划与准备 1.项目策划和开发规范 1.1 项目要求文档 1.2 技术实现文档 1.3 开发规范 2.创建项目工程与日志 第二部分:调通硬件电路与驱动程序 第三部分:编写最基础的应用程序 第四部分&…...
Hive on Spark (1)
spark中executor和driver分别有什么作用? Spark中Executor 在 Apache Spark 中,Executor 是分布式计算框架中的一个关键组件,用于在集群中执行具体的计算任务。每个 Executor 都在独立的 JVM 进程中运行,可以在集群的多台机器上…...
PostgreSQL基本操作总结
安装按PostgreSQL数据库后,会默认创建用户postgres和数据库postgres,这个用户是超级用户,权限最高,可以创建其他用户和权限,在实际开发过程中,会新创建用户和业务数据库,本文主要介绍用户权限和…...
Jakarta 的 Servlet 下BeanUtils的日期处理 和JSTL 的使用
jsp优于性能等问题已经不被spring boot等支持,如果想使用jsp和jstl标签库需要引入一下依赖。 <!-- 用jakarta.servlet.jsp.jstl,用org.glassfish.web--><dependency><groupId>jakarta.servlet.jsp.jstl</groupId><art…...
聚焦电力行业CentOS迁移,麒麟信安受邀参加第六届电力信息通信新技术大会暨数字化发展论坛并发表主题演讲
为加快推进“双碳”目标下的新型能源体系和新型电力系统建设,深化新一代数字技术与电力业务的融合发展,促进电力行业关键技术自主创新、安全可控,助力电力企业数字化转型升级和高质量发展,2023年8月9-11日,第六届电力信…...
华为OD真题--分月饼--带答案
1. 华为OD机考题 答案 2023华为OD统一考试(AB卷)题库清单-带答案(持续更新) 2023年华为OD真题机考题库大全-带答案(持续更新) 2. 面试题 一手真实java面试题:2023年各大公司java面试真题汇总--…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
