为什么http_build_query不能正常工作?

Here is my code:

print_r(http_build_query(array_merge($_GET, array("param3"=>"baz"))));

And here is the result:

o=newest&u=true¶m3=baz

Well what's ? Why sometimes http_build_query doesn't put & between parameters?


And here is the result without http_build_query:

Array ( [o] => newest [u] => true [param3] => baz )

So the representation of is & p a r a ;(html entity), when you use that name param3 it is interpreted to that symbol (Pilcrow Sign). That's why you see ¶m3=baz