创建唯一的数组


Creating unique arrays

我有一个多维数组,例如

Array
(
    [0] => Array
        (
            [id] => 1355698
            [comment] => hello
        )
    [1] => Array
        (
            [id] => 1355699
            [comment] => hey
        )
    [2] => Array
        (
            [id] => 1355700
            [comment] => hello
        )
)

id将始终是唯一的,因此元素的唯一性将基于子数组的值 comment 。在这种情况下,array[0]有一个重复的array[2]。(我想知道是否有更好的方法来表达这个解释)。

在这种情况下,array_unique()将不起作用。有没有其他选择?谢谢!

创建一个新数组,其中 id 和注释作为键=>值对,然后array_unique() .

$uniqueArray = array();
foreach ($nonUniqueArray as $i) {
    $uniqueArray[$i['comment']] = $i;
}
// optionally:
// $uniqueArray = array_values($uniqueArray);
var_dump($uniqueArray);