发布网友 发布时间:2022-04-28 04:08
共6个回答
懂视网 时间:2022-04-28 08:29
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族
热心网友 时间:2022-04-28 05:37
我的思路就是,先把字符串一个一个取出来放到数组里,然后用函数array_unique()把数组的值弄成唯一,然后再把唯一的值转化为字符串,代码如下:热心网友 时间:2022-04-28 06:55
新建一个数组a 遍历这个字符串的每一个字母 然后判断在不在数组a里 如果不在 则放入a 如果已经在a里的话 就不放 遍历完后数组a就是去除重复后的字母集合热心网友 时间:2022-04-28 08:30
将字串按单个字母转成数组,在数组中去掉重复,再还原成字串即可。追问能给个代码么追答$str='abfsasdjsdbasfdjbs';
$res = str_split($str,1);
$res = array_flip(array_flip($res));
foreach($res as $v){
$newstr .= $v;
}
热心网友 时间:2022-04-28 10:21
可以讲其中一个字符中滴每个字符与另外一个字符对比,如果存在就不保留,如果不存在就保留;具体方法将a字符分解成字符串数组,然后循环对比;热心网友 时间:2022-04-28 12:29
很简单像这样