php如何去除相同字符串

  • 来源:网络
  • 更新日期:2020-09-03

摘要:php去除相同字符串的方法:1、使用“implode("",array_unique(str_split($str, 1)));”方法去除字符串中的重复字符;2、通过“preg_split”和“array_unique”实现去除相同字符

php去除相同字符串的方法:1、使用“implode("",array_unique(str_split($str, 1)));”方法去除字符串中的重复字符;2、通过“preg_split”和“array_unique”实现去除相同字符串。

推荐:《PHP视频教程》

PHP去掉字符串中的重复字符

如果字符串中无汉字,都是ASCII字符那非常简单:

<?php
$str = 'aabbcc11333332.axyz';
echo implode("",array_unique(str_split($str, 1)));
//输出 abc132.xyz

如果字符串中有汉字,而且编码为UTF8,可以用下面方法:

<?php
$str="爱爱E爱EE族族";
$arr = preg_split("/(?<!^)(?!$)/u", $str); //转换成数组
$arr = array_unique($arr); //除去重复字符
echo implode("", $arr);  //还原成字符串
//输出: 爱E族

如果字符串中有汉字,而且编码不为UTF8,可以用下面方法(可以指定编码):

<?php
//按长度分割含中文字符串的自定义函数
function mb_str_split($str, $length=1, $encoding='UTF-8') {
    $arr = array();
    for($i=0; $i<mb_strlen($str, $encoding); $i+=$length) {
        $arr[] = mb_substr($str, $i, $length, $encoding);
    }
    return $arr;
}
 
$arr = mb_str_split("爱爱爱E族族", 1, 'GBK');
$arr = array_unique($arr); //除去重复字符
echo implode("", $arr);  //还原成字符串
//输出: 爱E族