从数组中返回唯一值

时间:2013-11-11 21:47:29

标签: php arrays

我有一个包含城市的数组,我想返回所有这些城市的数组,但它必须是唯一的城市列表。

下面的数组:

Array
(
    [0] => Array
        (
            [eventname] => Wine Tasting
            [date] => 12/20/2013
            [time] => 17:00:00
            [location] => Anaheim Convention Center
            [description] => This is a test description
            [city] => Anaheim
            [state] => California
        )

    [1] => Array
        (
            [eventname] => Circus
            [date] => 12/22/2013
            [time] => 18:30:00
            [location] => LAX
            [description] => Description for LAX event
            [city] => Anaheim
            [state] => California
        )

    [2] => Array
        (
            [eventname] => Blues Fest
            [date] => 3/14/2014
            [time] => 17:00:00
            [location] => Austin Times Center
            [description] => Blues concert
            [city] => Austin
            [state] => Texas
        )

)

应该返回:

array('Anaheim', 'Austin');

感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

使用array_map获取所有城市,然后array_unique删除重复项。

$cities = array_unique(array_map(function($x) { return $x['city']; }, $array));

答案 1 :(得分:1)

您可以将它们添加为强制它唯一的键,然后将其翻转,或者:

foreach($events as $details) {
    $cities[] = $details['city'];
}
$cities = array_unique($cities);

答案 2 :(得分:0)

foreach ($array as $val) {
  $cities[$val['city']] = '';
}
$cities = array_keys($cities);