2012-04-07 9 views
1

私は1つまたは複数の場所とその場所を見つけるためのユーザーのクエリです。私が持っている問題は、いくつかの場所が重複しているされて - 以下の例(注:時々、結果セットは数千記録することができる):ある ジーロング北、ビクトリア 北を:ここではあなたが見ることができるPHP +配列のユニーク

enter image description here

ジーロング、ビクトリア

私は配列に(カンマ者なし)場所ごとにすべての単語を読み込むことができます - 例えば:

array[0] - Geelong North Victoria 
array[1] - North Geelong Victoria 

は、ソート編曲:効率的な方法があります重複を削除する。私はA-Zという言葉を注文したかどうかはわかりません - 重複は明らかです。

誰もがこれについて最善の方法についてアドバイスしています。私は解決策を描くことができます(私が上で説明したようなものですが、これを行うにはもっと良い方法かもしれません)。

THX

答えて

1

ソート言葉が最初にarray_unique

$array = array('Geelong North, Victoria', 'North Geelong, Victoria'); 
function sortloc($s) { 
    $d = preg_split("/\W+/", $s, -1, PREG_SPLIT_NO_EMPTY); 
    sort($d); 
    return implode(' ', $d); 
} 
$locs = array_map('sortloc', $array); 
$locs = array_unique($locs); 
0

そのarray_uniqueする機能があるの適用()。
この参照:http://fi2.php.net/manual/en/function.array-unique.php

他の方法は、あなたが数字を維持する必要がいけない場合、そう、キーとしてもその価値を置くことで、次のとおりです。

array["Geelong North Victoria"] - Geelong North Victoria 
array["North Geelong Victoria"] - North Geelong Victoria 

defenitelyあなたdupicatesを削除すること。

関連する問題