code: public static function get(array $server): array
      {
          $params = [];
          if (isset($server['QUERY_STRING'])) {
              $query = ltrim($server['QUERY_STRING'], '?');
              foreach (explode('&', $query) as $pair) {
                  if ($pair) {
                      list($name, $value) = self::normalize(
                          array_map('urldecode', explode('=', $pair, 2))
                      );
                      $params[$name][] = $value;
                  }
              }
          }
          return $params ? array_map(function ($v) {
              return count($v) === 1 ? $v[0] : $v;
          }, $params) : $params;
      }
docs: Parses the query string from the `QUERY_STRING` in the provided array.
  
  For the URL `file.php?test[]=1&test[]=2&noval&foobar=foo&foobar=bar&abc=123`,
  the returned array will be:
  
  ```php
  [
  'test' => ['1', '2'],
  'noval' => '',
  'foobar' => ['foo', 'bar'],
  'abc' => '123'
  ];
  ```
  
  @param array<string,mixed> $server The server values array