2

私は2つのアレイを持っています

@one = ("1|1|the|dog|ran", "1|2|a|x|b", "2|8|e|s|e");
@two = ("1|2|a|x|b", "1|1|down|the|street", "2|8|e|s|e");

最初の2つの「|」でそれらを一致させる必要があります 分離された要素。そのため、$ one [0]の場合、検索は$two[1]を返します。

各配列には数百万の行があるので、これを行うための最速の方法が必要です。

編集:混乱してすみません。最初の2つの「|」を扱いたい 配列のキーとして分離された要素(つまり、1 | 2、2 | 1)は、最初の配列をループし、そのキーを使用して2番目の配列を検索し、2番目の配列の値を取得します。それは役に立ちますか?

4

1 に答える 1

4
- For each record in the second array,
  - Parse the record
  - Add it to a hash keyed by the first two fields.

- For each record in the first array,
  - Parse the record
  - Look in the hash for a record with the appropriate key.
  - If there is one,
    - Do something with it.
于 2012-11-15T17:56:56.097 に答える