2

場所の配列があり、各項目にはその場所の名前、緯度と経度が含まれていることを想像してください。たとえば、マイル単位の半径を使用して、近くのアイテムをグループ化します。

PHPでこれを達成するにはどうすればよいですか?

4

1 に答える 1

0

データを格納するには、2番目の配列が必要です。そして、あなたの場所の配列の複製。

for each $place in $places_array do
   store $place in $store_array
   for each $place2 in $places2_array do
      if $place2 == $place
         continue
      else
         if compare_radius() == true
             store $place2 in $store_array
         end_if
      end_else
   end_for
   erase each new data in store from $places2_array  (Only if you do not want to replicate data)
end_for

Vars

  • $ store_array:すべての場所が近接してグループ化された新しい配列。その構造は、[0]-> [place_1] [place_2]、[1]->[place_1]などのようになります。
  • $ Places_array:データの配列。
  • $ Places2_array:$places_arrayからの複製。

私はこれが効率的なアルゴリズムではないことを知っていますが、それは仕事をします。データが多い場合は、別のアルゴリズムを使用することをお勧めします。

于 2011-08-31T07:18:51.437 に答える