$v) { $pairs[] = $k . '=' . urlencode((string)$v); } return implode('&', $pairs); } public function parse(string $str): array { $out = []; foreach (explode('&', $str) as $tok) { $kv = explode('=', $tok, 2); if (count($kv) === 2) $out[$kv[0]] = urldecode($kv[1]); } return $out; } }