如何从数组中删除重复项并对其进行排序


How to remove duplicate from an Array and sort it?

我有数组A:

输入:

A={2,3,2,{1},3,2,{0},3,2,0,11,7,9,{2}

我希望输出为阵列B

输出:

B={0,1,2,3,7,9,11}

如何删除重复的值并使用PHP对其进行升序排序?

如果您有:

$a = array(2,3,2,1,3,2,0,3,2,0,11,7,9,2);

可以使用array_unique()删除重复项:

$a = array_unique($a);

然后使用asort()对数组值进行排序:

asort($a);

//试试这个。。。

$array = array(2,3,2,(1),3,2,(0),3,2,0,11,7,9,(2));
$array_u = array_unique($array);
sort($array_u);
print_r($array_u);

样本输出

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 7
    [5] => 9
    [6] => 11
)

第一步:展开

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;
}

然后使用asortarray_unique可以删除重复项并按升序排序。

$result = array_unique(flattern($array));
asort($result);

来源:如何展平多维数组?