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