去除方法:1、用str_split()将字符串转为字符数组,语法“str_split(字符串)”;2、用array_unique()或array_flip()去除数组的相同项,语法“array_unique(字符数组)”或“array_flip(array_flip(字符数组))”;3、用implode()将去重后的数组转为字符串即可,语法“implode("",去重数组)”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在PHP中,想要去除字符串的相同项(重复字符),可以利用数组。

实现思想:

  • 将字符串转为字符数组

  • 去除字符数组中的相同项

  • 将去重后的数组转为字符串

方法1:str_split()+array_unique()+implode()

  • 使用str_split()函数将字符串转为字符数组,一个字符就是一个数组元素

  • 使用array_unique()函数进行数组去重

  • 使用implode()函数将去重后的数组转为字符串

<?php
header('content-type:text/html;charset=utf-8');   
$str = "1.2.3.1.2.3.4";
echo "原字符串:".$str."<br><br>";

$arr=str_split($str);
echo "字符数组:";
var_dump($arr);

$newArr=array_unique($arr);
echo "去重后的数组:";
var_dump($newArr);
$newStr=implode("",$newArr);
echo "去重后的字符串:".$newStr;
?>

1.png

方法2:str_split()+array_flip()+implode()

  • 使用str_split()函数将字符串转为字符数组,一个字符就是一个数组元素

  • 使用两次array_flip()函数进行数组去重

    array_flip是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重

  • 使用implode()函数将去重后的数组转为字符串

<?php
header('content-type:text/html;charset=utf-8');   
$str = "12hello13";
echo "原字符串:".$str."<br><br>";

$arr=str_split($str);
echo "字符数组:";
var_dump($arr);

$newArr=array_flip(array_flip($arr));
echo "去重后的数组:";
var_dump($newArr);
$newStr=implode("",$newArr);
echo "去重后的字符串:".$newStr;
?>

2.png


php怎么去除字符串的相同项