使用数组对象中的值进行搜索

时间:2013-02-28 09:27:18

标签: php arrays

我有这样的数组。我想要做的是删除重复的条目。我想比较不同键的数组值。

例如,数组中的前2个元素具有键areacode。 3& 4有密钥state。 我想比较areacodestate的值并删除重复的条目。也就是说,02state / areacode =>'US',所以我想删除其中一个。

我该怎么做?

Array (
  [0] => stdClass Object
    (
        [areacode] => US
        [id] => 7-CxFsXZBGGCiYlW-NYKFw
        [city] => San Francisco
    )

  [1] => stdClass Object
    (   
        [areacode] => CL
        [id] => 7-CxFsXZBGGCiYlW-NYKFw
        [city] => San Francisco
    )

  [2]=>stdClass Object
    (    
        [state] => US
        [id] => 7-CxFsXZBGGCiYlW-NYKFw
        [city] => San Francisco
    )
  [3]=>stdClass Object
    (    
        [state] => SA
        [id] => 7-CxFsXZBGGCiYlW-NYKFw
        [city] => San Francisco
    )
)

2 个答案:

答案 0 :(得分:0)

使用array_filter

$filtered = array_filter($your_array, function($obj){
  $obj_array = (array)$obj;
  return $obj_array['state'] != 'US';
});

答案 1 :(得分:0)

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

试试吧;我在这里找到了它:How to remove duplicate values from a multi-dimensional array in PHP