Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php从字符串中删除重复的单词?_Php_String_Array Unique - Fatal编程技术网

如何使用php从字符串中删除重复的单词?

如何使用php从字符串中删除重复的单词?,php,string,array-unique,Php,String,Array Unique,下面是我的变量 $string = 'AAA,BBB,aAA,BbB,AAA,BbB'; 我需要下面唯一的字符串结果 $string = 'AAA,BBB,aAA,BbB'; 如何使其唯一就像array\u unique()函数一样,PHP中是否有默认的字符串函数来删除重复的字符串?我不知道PHP是否有这样的函数,但您可以这样处理: $raw = 'AAA,BBB,aAA,BbB,AAA,BbB'; $string = implode(',', array_unique(explode(',

下面是我的变量

$string = 'AAA,BBB,aAA,BbB,AAA,BbB';
我需要下面唯一的字符串结果

$string = 'AAA,BBB,aAA,BbB';

如何使其唯一就像
array\u unique()
函数一样,PHP中是否有默认的字符串函数来删除重复的字符串?

我不知道PHP是否有这样的函数,但您可以这样处理:

$raw = 'AAA,BBB,aAA,BbB,AAA,BbB';
$string = implode(',', array_unique(explode(',', $raw)));

作为记录,我完全支持克里斯的方法,如果这是我的项目,我会选择这种方法。然而,我只想补充一点,给这只猫剥皮还有其他几种方法:

代码:()

我有5种不同的方法来分解csv字符串,而不使用
explode()

1个不使用数组_unique的方法

当然,
introde()
join()
可以互换使用,因为它们是同义词

我认为第五种方法是我最喜欢的,因为它是最古怪的,并且没有使用
array\u unique()
*不幸的是,这是一个两行:{


p、 美国

@Thiyagu说字符串是这样构造的:

forloop(){ $string .= $a[i].',';}
如果这是真的,那么可以通过利用临时数组在这个循环中消除重复项。这还有一个额外的好处,就是省略了连接生成的尾随逗号

foreach($data as $value){
    $result[$value]=$value;  // duplicate values will be overwritten because arrays may not have two identical keys
}
echo implode(',',$result);

出于某种原因,我将字符串连接起来,如下所示,forloop(){$String.=$a[I].,';}然后最终得到这样的结果,即使使用这种类型的“数据”该链接将为您提供一个答案您也必须告诉PHP unique的含义,否则它不会理解您不是指删除所有逗号,而是指唯一的字母块而不是单个字母:分解为
数组_unique()
,然后随着一个
内爆,回顾这一旧页面,这个问题与路易斯发布的闭包链接完全相同。(它消失了,但我正在恢复它)
foreach($data as $value){
    $result[$value]=$value;  // duplicate values will be overwritten because arrays may not have two identical keys
}
echo implode(',',$result);