1

次の構造の多次元配列があり、そこから重複を削除したいと考えています。たとえば、["金額"] が 2 つの ["都市"] で同じであるが、["時間"] が同じか異なる場合、これは重複していると見なし、このノードを配列から削除します。

次の例では、都市と金額がノード 1 と同じであるため、アレイからノード 0 を完全に削除します。これらは両方ともブリストル (イギリス、ブリストル) と 373 です。時間は 17:15 と 17 で異なりますが、 :16.

この場合のように時間が異なる場合は、後の時間を削除します。

array(8) {
  [0]=>
  array(3) {
    ["time"]=>
    string(5) "17:16"
    ["city"]=>
    string(33) "Bristol (Bristol, United Kingdom)"
    ["amount"]=>
    int(373)
  }
  [1]=>
  array(3) {
    ["time"]=>
    string(5) "17:15"
    ["city"]=>
    string(33) "Bristol (Bristol, United Kingdom)"
    ["amount"]=>
    int(373)
  }
  [2]=>
  array(3) {
    ["time"]=>
    string(5) "17:16"
    ["city"]=>
    string(37) "Wednesbury (Sandwell, United Kingdom)"
    ["amount"]=>
    int(699)
  }
  [3]=>
  array(3) {
    ["time"]=>
    string(5) "17:16"
    ["city"]=>
    string(45) "Wolverhampton (Wolverhampton, United Kingdom)"
    ["amount"]=>
    int(412)
  }
  [4]=>
  array(3) {
    ["time"]=>
    string(5) "17:15"
    ["city"]=>
    string(33) "Swansea (Swansea, United Kingdom)"
    ["amount"]=>
    int(249)
  }
  [5]=>
  array(3) {
    ["time"]=>
    string(5) "17:16"
    ["city"]=>
    string(39) "Watford (Hertfordshire, United Kingdom)"
    ["amount"]=>
    int(229)
  }
  [6]=>
  array(3) {
    ["time"]=>
    string(5) "17:14"
    ["city"]=>
    string(39) "Nottingham (Nottingham, United Kingdom)"
    ["amount"]=>
    int(139)
  }
  [7]=>
  array(3) {
    ["time"]=>
    string(5) "17:13"
    ["city"]=>
    string(31) "Dartford (Kent, United Kingdom)"
    ["amount"]=>
    int(103)
  }
}
4

3 に答える 3