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

PHP8的字符串操作3-PHP8知识详解

今天继续分享字符串的操作,前面说到了字符串的去除空格和特殊字符,获取字符串的长度,截取字符串、检索字符串。

今天继续分享字符串的其他操作。如:替换字符串、分割和合成字符串。

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知识详解

今天继续分享字符串的操作&#xff0c;前面说到了字符串的去除空格和特殊字符&#xff0c;获取字符串的长度&#xff0c;截取字符串、检索字符串。 今天继续分享字符串的其他操作。如&#xff1a;替换字符串、分割和合成字符串。 5、替换字符串 替换字符串就是对指定字符串中…...

Unity VR:XR Interaction Toolkit 输入系统(Input System):获取手柄的输入

文章目录 &#x1f4d5;教程说明&#x1f4d5;Input System 和 XR Input Subsystem&#xff08;推荐 Input System&#xff09;&#x1f4d5;Input Action Asset⭐Actions Maps⭐Actions⭐Action Properties&#x1f50d;Action Type (Value, Button, Pass through) ⭐Binding …...

智慧工地一体化云平台源码:监管端、工地端、危大工程、智慧大屏、物联网、塔机、吊钩、升降机

智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合&#xff0c;为工程项目管理提供先进技术手段&#xff0c;构建工地现场智能监控和控制体系&#xff0c;弥补传统方法在监管中的缺陷&#xff0c;最终实现项目对人、机、料、法、环的全…...

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);//…...

互联网发展历程:保护与隔离,防火墙的安全壁垒

互联网的快速发展&#xff0c;不仅带来了便利和连接&#xff0c;也引发了越来越多的安全威胁。在数字时代&#xff0c;保护数据和网络安全变得尤为重要。然而&#xff0c;在早期的网络中&#xff0c;安全问题常常让人担忧。 安全问题的困扰&#xff1a;网络威胁日益增加 随着互…...

基于IMX6ULLmini的linux裸机开发系列七:中断处理流程

中断上下文 cpu通过内核寄存器来运行指令并进行数据的读写处理的&#xff0c;它在进入中断前一个时刻的具体值&#xff0c;称为中断上下文 中断上下文是指CPU在进入中断之前保存的寄存器状态和其他相关信息。当CPU接收到中断请求时&#xff0c;它会保存当前正在执行的指令的状…...

Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求

本文介绍在浏览器中&#xff0c;获取网页中的某一个请求信息&#xff0c;并将其导入到Postman软件&#xff0c;并进行API请求测试的方法。 Postman是一款流行的API开发和测试工具&#xff0c;它提供了一个用户友好的界面&#xff0c;用于创建、测试、调试和文档化API。本文就介…...

react go实现用户历史登录列表页面

refer: http://ip-api.com/ 1.首先需要创建一个保存用户历史的登录的表&#xff0c;然后连接go 2.在用户登录的时候&#xff0c;获取用户的IP IP位置&#xff0c;在后端直接处理数据即可&#xff08;不需要在前端传递数据&#xff09; &#xff08;1&#xff09;增加路由&am…...

如何做好服务性能测试

一、什么是性能测试 新功能上线或切换底层数据库或扩容调优&#xff0c;根据实际业务场景的需要&#xff0c;做必要的性能压测&#xff0c;收集性能数据&#xff0c;作为上线的基准报告。 性能测试一般分一下几个阶段&#xff1a; 1. 性能测试 并发量小&#xff08;jmeter 并…...

速通蓝桥杯嵌入式省一教程:(五)用按键和屏幕实现嵌入式交互系统

一个完整的嵌入式系统&#xff0c;包括任务执行部分和人机交互部分。在前四节中&#xff0c;我们已经讲解了LED、LCD和按键&#xff0c;用这三者就能够实现一个人机交互系统&#xff0c;也即搭建整个嵌入式系统的框架。在后续&#xff0c;只要将各个功能加入到这个交互系统中&a…...

虚拟拍摄,如何用stable diffusion制作自己的形象照?

最近收到了某活动的嘉宾邀请&#xff0c;我将分享&#xff1a; 主题&#xff1a;生成式人工智能的创新实践 简要描述&#xff1a;从品牌营销、智能体、数字内容创作、下一代社区范式等方面&#xff0c;分享LLM与图像等生成式模型的落地应用与实践经验。 领域/研究方向&#xff…...

开启AI创新之旅!“华为云杯”2023人工智能应用创新大赛等你来挑战

简介 近年来&#xff0c;人工智能技术的发展如日中天&#xff0c;深刻地改变着我们的生活方式和产业格局。 为了培养AI人才&#xff0c;持续赋能AI企业&#xff0c;推进国家新一代人工智能开放创新平台建设&#xff0c;打造更加完善的AI技术创新生态&#xff0c;华为&#xf…...

npm和node版本升级教程

cmd中查看本地安装的node版本 node -v //查询node的位置 where node2.官网下载所需要的node版本&#xff0c;安装在刚查出来的文件夹下&#xff0c;即覆盖掉原来的版本 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库 基础入门学习笔记:物联网项目开发流程和思路

文章目录&#xff1a; 第一部分&#xff1a;项目开始前的计划与准备 1.项目策划和开发规范 1.1 项目要求文档 1.2 技术实现文档 1.3 开发规范 2.创建项目工程与日志 第二部分&#xff1a;调通硬件电路与驱动程序 第三部分&#xff1a;编写最基础的应用程序 第四部分&…...

Hive on Spark (1)

spark中executor和driver分别有什么作用&#xff1f; Spark中Executor 在 Apache Spark 中&#xff0c;Executor 是分布式计算框架中的一个关键组件&#xff0c;用于在集群中执行具体的计算任务。每个 Executor 都在独立的 JVM 进程中运行&#xff0c;可以在集群的多台机器上…...

PostgreSQL基本操作总结

安装按PostgreSQL数据库后&#xff0c;会默认创建用户postgres和数据库postgres&#xff0c;这个用户是超级用户&#xff0c;权限最高&#xff0c;可以创建其他用户和权限&#xff0c;在实际开发过程中&#xff0c;会新创建用户和业务数据库&#xff0c;本文主要介绍用户权限和…...

Jakarta 的 Servlet 下BeanUtils的日期处理 和JSTL 的使用

jsp优于性能等问题已经不被spring boot等支持&#xff0c;如果想使用jsp和jstl标签库需要引入一下依赖。 <!-- 用jakarta.servlet.jsp.jstl&#xff0c;用org.glassfish.web--><dependency><groupId>jakarta.servlet.jsp.jstl</groupId><art…...

聚焦电力行业CentOS迁移,麒麟信安受邀参加第六届电力信息通信新技术大会暨数字化发展论坛并发表主题演讲

为加快推进“双碳”目标下的新型能源体系和新型电力系统建设&#xff0c;深化新一代数字技术与电力业务的融合发展&#xff0c;促进电力行业关键技术自主创新、安全可控&#xff0c;助力电力企业数字化转型升级和高质量发展&#xff0c;2023年8月9-11日&#xff0c;第六届电力信…...

华为OD真题--分月饼--带答案

1. 华为OD机考题 答案 2023华为OD统一考试&#xff08;AB卷&#xff09;题库清单-带答案&#xff08;持续更新&#xff09; 2023年华为OD真题机考题库大全-带答案&#xff08;持续更新&#xff09; 2. 面试题 一手真实java面试题&#xff1a;2023年各大公司java面试真题汇总--…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...