0

如何 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 但它不使用维度数组。如何解决这个问题?谢谢你

4

2 回答 2

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);
于 2014-08-12T07:23:27.623 回答
0

试试这个代码

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
于 2014-08-12T07:26:53.637 回答