如何摆脱重复的值在数组中,只显示唯一的


how to get rid of duplicate values in array and display only unique ones

那么我就有了这个数组:

array(3) {
    [0]=>
    string(10) "Air France"
    [124]=>
    string(15) "British Airways"
    [292]=>
    string(7) "easyJet"
}

但是如果我对每个值执行foreach它会打印出所有有这个名字的航班我只想打印这个名字在数组中出现一次;

例如:

while (list($key, $value) = each($airlines)) {
    array_push($unique_airports,$value["OutboundAirlineName"]);
    $really_unique = array_unique($unique_airports);    
    foreach($really_unique as $key=>$value) {
        echo $value.'<br />';
    }
}

,我希望输出为:

法国航空公司英国航空公司(British Airways)易捷航空

将您的foreach从构建数组的循环中移出。像这样做:

while(list($key, $value) = each($airlines)) {
    array_push($unique_airports,$value["OutboundAirlineName"]);
}
$really_unique = array_unique($unique_airports);    
foreach($really_unique as $key=>$value) {
    echo $value.'<br />';
}

使用内部函数array_unique http://php.net/manual/en/function.array-unique.php