唯一的数组值

时间:2011-09-01 16:39:57

标签: php

我有逗号分隔值的字符串。

1,2,3,4,4,4,4,4,4,4,4,01633,4,4

我需要删除重复项,所以我使用

array_unique($str);

但是,它没有返回任何结果。所以我决定输出它来看看我有什么:

print_r($str);
// returns: 1,2,3,4,4,4,4,4,4,4,4,01633,4,4

我有点失落。我检查了它是否是一个阵列,我得到了真实。以下是该字符串的创建方式:

$str = '1,2,3';

foreach ($a as $b) {
    $str.= ','.$b;
}

我在这里缺少什么?

3 个答案:

答案 0 :(得分:4)

$str = explode(',', $str); // create array
$newArray = array_unique($str); // then process

实际上,虽然...只是在创建字符串之前在array_unique()上执行$a

$a = array_unique($a);

...然后

foreach ($a as $b) { // and so on

答案 1 :(得分:2)

转换为数组,删除重复值,转换为字符串

$str = 'whatever';
$arr = explode( ',', $str );
$newArr = array_unique( $arr );
$newStr = implode( ',', $newArr );

答案 2 :(得分:1)

以逗号分解,制作独特的,将胶水拼凑在一起:

$str = implode(',', array_unique(explode(',', $str)));