Link.FYI

Pastebin

Create New My Pastes

Code (PHP) pasted on 2024-10-02, 22:06 Raw Source

  1. <?php
  2. class Foo
  3. {
  4.     public function combinations(array $values): array
  5.     {
  6.         $combinations = [];
  7.         foreach ($values as $value1) {
  8.             foreach ($values as $value2) {
  9.                 if ($value1 == $value2) {
  10.                     continue;
  11.                 }
  12.                 $pair = [$value1, $value2];
  13.                 sort($pair);
  14.                 $key = sprintf('%s::%s', $pair[0], $pair[1]);
  15.                 if (!array_key_exists($key, $combinations)) {
  16.                         $combinations[$key] = $pair;
  17.                 }
  18.             }
  19.         }
  20.         return array_values($combinations);
  21.     }
  22. }
  23.  
  24. $foo = new Foo();
  25. print_r($foo->combinations(['a', 'b', 'c', 'd']));
  26.