如何使用array_unique维数组

时间:2014-08-12 07:19:22

标签: php arrays merge array-unique

如何使用array_unique维数组 我有下面的数组:

输入数组

[0] => Array
    (
        [staff_id] => 1
        [service_id] => 1
        [avatar_url] => gallery-1.png
        [full_name] => Germaine
        [price] => 0.00
    )

[1] => Array
    (
        [staff_id] => 3
        [service_id] => 1
        [avatar_url] => team-5.png
        [full_name] => Jenny
        [price] => 0.00
    )

[2] => Array
    (
        [staff_id] => 5
        [service_id] => 1
        [avatar_url] => gallery-6.png
        [full_name] => Shawn
        [price] => 0.00
    )

[3] => Array
    (
        [staff_id] => 2
        [service_id] => 6
        [avatar_url] => team-3.png
        [full_name] => Gabriel
        [price] => 0.00
    )

[4] => Array
    (
        [staff_id] => 3
        [service_id] => 6
        [avatar_url] => team-5.png
        [full_name] => Jenny
        [price] => 0.00
    )

我希望得到结果:

预期输出数组

[0] => Array
    (
        [staff_id] => 1
        [service_id] => 1
        [avatar_url] => gallery-1.png
        [full_name] => Germaine
        [price] => 0.00
    )

[1] => Array
    (
        [staff_id] => 3
        [service_id] => 1
        [avatar_url] => team-5.png
        [full_name] => Jenny
        [price] => 0.00
    )

[2] => Array
    (
        [staff_id] => 5
        [service_id] => 1
        [avatar_url] => gallery-6.png
        [full_name] => Shawn
        [price] => 0.00
    )

[3] => Array
    (
        [staff_id] => 2
        [service_id] => 6
        [avatar_url] => team-3.png
        [full_name] => Gabriel
        [price] => 0.00
    )

有人能帮助我吗?怎么做 ?。我使用array_unique但它没有使用维数组。怎么解决这个? 谢谢你

2 个答案:

答案 0 :(得分:0)

你可以这样做:

$output_array = array();
$arr_temp_id = array();
foreach($your_array as $arr)
{
      if(!in_array($arr['staff_id'], $arr_temp_id))
      {
          $arr_temp_id[] = $arr['staff_id'];
          $output_array[] = $arr;
      }
}

print_r($output_array);

答案 1 :(得分:0)

试试此代码

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));