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

news/2025/3/15 15:25:20/

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

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

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()函数统计字符串中的单词个数就讲解完毕了。


http://www.ppmy.cn/news/1045786.html

相关文章

[管理与领导-32]:IT基层管理者 - 人的管理 - 跨部门沟通 - 利益共赢,效率倍增

目录 一、跨部门沟通的难点 二、跨部门沟通的误区 三、跨部门沟通的原则 四、跨部门沟通的可行的操作方法 一、跨部门沟通的难点 跨部门沟通是组织内部的重要环节&#xff0c;但也会面临一些难点和挑战。 以下是一些常见的跨部门沟通难点&#xff1a; 信息共享不畅&#…

Ubuntu16.04-ros-kinetic环境搭建笔记=1=

tips&#xff1a;搬运资料&#xff0c;留个记录 安装Ubuntu Ubuntu官网下载地址 安装 虚拟机安装Ubuntu 最好断网安装Ubuntu&#xff0c;可以节约时间 Ubuntu基础设置 Ubuntu换国内源 换成清华源 sudo apt upgradeVMwareTool安装 把这个压缩包拖到桌面&#xff0c;否则只读…

MySQL5.7数据目录结构

以CentOS7为例&#xff0c;数据目录为/var/lib/mysql/&#xff0c;其内容如下&#xff1a; [rootscentos szc]# ll /var/lib/mysql/ total 122952 -rw-r----- 1 mysql mysql 56 Jan 15 16:02 auto.cnf -rw------- 1 mysql mysql 1680 Jan 15 16:02 ca-key.pem -rw-r…

【高级IO】- 五种 IO 模型 | 多路转接 - select

IO的基本概念 I/O&#xff08;Input / output&#xff09;就是输入和输出&#xff0c;在冯诺依曼体系中&#xff0c;将数据从输入设备拷贝到内存叫做输入&#xff0c;将数据从内存拷贝到输出设备叫做输出。 对文件进行的读写操作本质就是一种IO&#xff0c;文件IO对应的外设就…

VS2022远程Linux使用cmake开发c++工程配置方法

文章目录 远程连接CMakePresets.json的配置Task.vs.json配置launch.vs.json配置最近使用别人在VS2015上使用visualgdb搭建的linux开发环境,各种不顺手,一会代码不能调转了,一会行号没了,调试的时候断不到正确的位置,取消的断点仍然会进。因此重新摸索了一套使用vs的远程开…

菜鸟Vue教程 - 实现带国际化的注册登陆页面

初接触vue的时候觉得vue好难&#xff0c;因为项目中要用到&#xff0c;就硬着头皮上&#xff0c;慢慢的发现也不难&#xff0c;无外乎画个布局&#xff0c;然后通过样式调整界面。在通过属性和方法跟js交互。js就和我们写的java代码差不多了&#xff0c;复杂一点的就是引用这种…

node,day02

模块化 在 Node.js 中&#xff0c;每个文件都被视为一个单独的模块, CommonJs 模块是为 Node.js 打包 Javascript 代码的原始方式。Nodejs 还支持浏览器和其他 JavaScript 运行时使用的 ECMAScript 模快标准 在node.js中&#xff0c;每一个js文件&#xff0c;都被划分为一个模…

构造不包含字母和数字的webshell

构造不包含字母和数字的webshell <?php echo "A"^""; ?> 输出的结果是字符"!“。之所以会得到这样的结果&#xff0c;是因为代码中对字符"A"和字符”"进行了异或操作。在PHP中&#xff0c;两个变量进行异或时&#xff0c;…