PHP函数array_unique不起作用

时间:2009-03-21 15:13:51

标签: php arrays

我在PHP中有一个数组,我想删除重复项。

我只是转向函数array_unique()来创建一个新数组并删除重复项。

以下是代码:

$unlink = array();
$unlink = array_unique($linkphoto);

foreach ($unlink as $link) {
    echo $link, "<br />";
}

仍然显示重复!关于什么是错的任何建议?

2 个答案:

答案 0 :(得分:2)

根据documentation,平等的条件如下:

  

注意:当且仅当(字符串)$ elem1 ===(字符串)$ elem2时,才认为两个元素相等。用文字表示:当字符串表示相同时。将使用第一个元素。

您使用的是哪种数据?如果两个项不是字符串相等,那么它们都将保留在数组中。

答案 1 :(得分:1)

我们需要更多上下文才能为您提供帮助,例如$linkphoto应用于array_unique之前的内容。例如:

<?php
$array = Array('A','B','C','D','B');
print_r($array); // Array ( [0] => A [1] => B [2] => C [3] => D [4] => B )
$result = array_unique($array);
print_r($result); // Array ( [0] => A [1] => B [2] => C [3] => D ) 
?>

正如@nobody_所提到的,如果它们的字符串表示相同,它将只消除重复。