Php foreach使用值删除重复[重复]

This question already has an answer here:

I have an array like this

Array
(
    [0] => Array
        (
            [idvox_business] => 5
            [logo] => 1fJCb1_walmart_logo.jpg
            [name] => Walmart
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.931393
            [lng] => -96.840333
            [miles] => 1
            [place_id] => ChIJATuR8y0nTIYRQuI_GuSYqNs
        )

    [1] => Array
        (
            [idvox_business] => 41
            [logo] => tqkuHo_bestbuy.png
            [name] => Best Buy
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.9274
            [lng] => -96.837284
            [miles] => 1
            [place_id] => ChIJVVVVVSknTIYReq3C1jDTAeM
        )

    [2] => Array
        (
            [idvox_business] => 41
            [logo] => tqkuHo_bestbuy.png
            [name] => Best Buy
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.927357
            [lng] => -96.837275
            [miles] => 1
            [place_id] => ChIJs5gXoC0nTIYR-TFzaCpxVvE
        )

    [3] => Array
        (
            [idvox_business] => 16
            [logo] => C25fIa_macys_logo.jpg
            [name] => Macy's
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.92978
            [lng] => -96.81953
            [miles] => 2
            [place_id] => ChIJWb8Ag9sgTIYRiPwoJIqw2rc
        )

    [4] => Array
        (
            [idvox_business] => 41
            [logo] => tqkuHo_bestbuy.png
            [name] => Best Buy
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.956207
            [lng] => -96.815811
            [miles] => 3
            [place_id] => ChIJnVzmzT0hTIYRsWuHSl2p1Ig
        )

)

I want to remove duplicates from this array but i need to omit only last unique array output need like this

Array
(
    [0] => Array
        (
            [idvox_business] => 5
            [logo] => 1fJCb1_walmart_logo.jpg
            [name] => Walmart
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.931393
            [lng] => -96.840333
            [miles] => 1
            [place_id] => ChIJATuR8y0nTIYRQuI_GuSYqNs
        )

    [1] => Array
        (
            [idvox_business] => 41
            [logo] => tqkuHo_bestbuy.png
            [name] => Best Buy
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.9274
            [lng] => -96.837284
            [miles] => 1
            [place_id] => ChIJVVVVVSknTIYReq3C1jDTAeM
        )



    [3] => Array
        (
            [idvox_business] => 16
            [logo] => C25fIa_macys_logo.jpg
            [name] => Macy's
            [icon] => http://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png
            [lat] => 32.92978
            [lng] => -96.81953
            [miles] => 2
            [place_id] => ChIJWb8Ag9sgTIYRiPwoJIqw2rc
        )


)
</div>

Since the sub-arrays are not identical then the serialize solution will not work. This assumes removing based on identical idvox_business:

$ids = array();

foreach($array as $key => $vals) {
    if(in_array($vals['idvox_business'], $ids)) {
        unset($array[$key]);
    } else {
        $ids[] = $vals['idvox_business'];
    }
}

Or possibly:

foreach(array_column($array, 'idvox_business') as $key => $id) {
    $result[$key] = $array[$key];    
}