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

时间:2014-09-11 09:59:02

标签: php arrays sorting

我有阵列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升级它们?

3 个答案:

答案 0 :(得分:3)

如果你有:

$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);

答案 1 :(得分:2)

//试试这个......

$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
)

答案 2 :(得分:0)

第一步:flattern

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

然后使用asortarray_unique,您可以删除重复项并对ascendent进行排序。

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

来源: How to Flatten a Multidimensional Array?