GraphQL\Utils::groupBy PHP Méthode

groupBy() public static méthode

E.g. Utils::groupBy([1, 2, 3, 4, 5], function($value) {return $value % 3}) will output: [ 1 => [1, 4], 2 => [2, 5], 0 => [3], ] $keyFn is also allowed to return array of keys. Then value will be added to all arrays with given keys
public static groupBy ( $traversable, callable $keyFn ) : array
$traversable
$keyFn callable function($value, $key) => $newKey(s)
Résultat array
    public static function groupBy($traversable, callable $keyFn)
    {
        self::invariant(is_array($traversable) || $traversable instanceof \Traversable, __METHOD__ . ' expects array or Traversable');
        $grouped = [];
        foreach ($traversable as $key => $value) {
            $newKeys = (array) $keyFn($value, $key);
            foreach ($newKeys as $key) {
                $grouped[$key][] = $value;
            }
        }
        return $grouped;
    }